org.qi4j.entitystore.gae
Class GaeEntityStoreUnitOfWork

java.lang.Object
  extended by org.qi4j.entitystore.gae.GaeEntityStoreUnitOfWork
All Implemented Interfaces:
EntityStoreUnitOfWork

public class GaeEntityStoreUnitOfWork
extends Object
implements EntityStoreUnitOfWork


Constructor Summary
GaeEntityStoreUnitOfWork(com.google.appengine.api.datastore.DatastoreService datastore, String identity, ModuleSPI module)
           
 
Method Summary
 StateCommitter applyChanges()
           
 void discard()
           
 EntityState getEntityState(EntityReference reference)
          Get the EntityState for a given identity.
 String identity()
           
 EntityState newEntityState(EntityReference anIdentity, EntityDescriptor entityDescriptor)
          Create new EntityState for a given identity.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GaeEntityStoreUnitOfWork

public GaeEntityStoreUnitOfWork(com.google.appengine.api.datastore.DatastoreService datastore,
                                String identity,
                                ModuleSPI module)
Method Detail

identity

public String identity()
Specified by:
identity in interface EntityStoreUnitOfWork

newEntityState

public EntityState newEntityState(EntityReference anIdentity,
                                  EntityDescriptor entityDescriptor)
                           throws EntityStoreException
Description copied from interface: EntityStoreUnitOfWork
Create new EntityState for a given identity.

This should only create the EntityState and not insert it into any database, since that should occur during the EntityStoreUnitOfWork.applyChanges() call.

Specified by:
newEntityState in interface EntityStoreUnitOfWork
Parameters:
anIdentity - the identity of the entity
entityDescriptor - entity descriptor
Returns:
The new entity state.
Throws:
EntityStoreException - Thrown if creational fails.

getEntityState

public EntityState getEntityState(EntityReference reference)
                           throws EntityStoreException,
                                  EntityNotFoundException
Description copied from interface: EntityStoreUnitOfWork
Get the EntityState for a given identity. Throws EntityNotFoundException if the entity with given anIdentity is not found.

Specified by:
getEntityState in interface EntityStoreUnitOfWork
Parameters:
reference - The entity identity. This argument must not be null.
Returns:
Entity state given the composite descriptor and identity.
Throws:
EntityStoreException - thrown if retrieval failed.
EntityNotFoundException - if requested entity does not exist

applyChanges

public StateCommitter applyChanges()
                            throws EntityStoreException
Specified by:
applyChanges in interface EntityStoreUnitOfWork
Throws:
EntityStoreException

discard

public void discard()
Specified by:
discard in interface EntityStoreUnitOfWork