Class Entity
- java.lang.Object
-
- com.google.appengine.api.datastore.PropertyContainer
-
- com.google.appengine.api.datastore.Entity
-
- All Implemented Interfaces:
Serializable
,Cloneable
public final class Entity extends PropertyContainer implements Cloneable
Entity
is the fundamental unit of data storage. It has an immutable identifier (contained in theKey
) object, a reference to an optional parentEntity
, a kind (represented as an arbitrary string), and a set of zero or more typed properties.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_RESERVED_PROPERTY
A reserved property name used to refer to the key of the entity.static String
SCATTER_RESERVED_PROPERTY
A reserved property name used to refer to the scatter property of the entity.static String
VERSION_RESERVED_PROPERTY
A reserved property name used to report an entity group's version.
-
Constructor Summary
Constructors Constructor Description Entity(Key key)
Create a newEntity
uniquely identified by the providedKey
.Entity(String kind)
Create a newEntity
with the specified kind and no parentEntity
.Entity(String kind, long id)
Create a newEntity
with the specified kind and ID and no parentEntity
.Entity(String kind, long id, Key parent)
Create a newEntity
with the specified kind and ID and parentEntity
.Entity(String kind, @Nullable Key parent)
Create a newEntity
with the specified kind and parentEntity
.Entity(String kind, String keyName)
Create a newEntity
with the specified kind and key name and no parentEntity
.Entity(String kind, String keyName, Key parent)
Create a newEntity
with the specified kind, key name, and parentEntity
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Entity
clone()
Returns a shallow copy of thisEntity
instance.boolean
equals(@Nullable Object object)
TwoEntity
objects are considered equal if they refer to the same entity (i.e.String
getAppId()
Returns the identifier of the application that owns thisEntity
.Key
getKey()
Returns theKey
that represents thisEntity
.String
getKind()
Returns a logical type that is associated with thisEntity
.String
getNamespace()
Returns the namespace of the application/namespace that owns thisEntity
.@Nullable Key
getParent()
Get aKey
that corresponds to this the parentEntity
of thisEntity
.int
hashCode()
void
setPropertiesFrom(Entity src)
String
toString()
-
Methods inherited from class com.google.appengine.api.datastore.PropertyContainer
getProperties, getProperty, hasProperty, isUnindexedProperty, removeProperty, setIndexedProperty, setPropertiesFrom, setProperty, setUnindexedProperty
-
-
-
-
Field Detail
-
KEY_RESERVED_PROPERTY
public static final String KEY_RESERVED_PROPERTY
A reserved property name used to refer to the key of the entity. This string can be used for filtering and sorting by the entity key itself.- See Also:
- Constant Field Values
-
SCATTER_RESERVED_PROPERTY
public static final String SCATTER_RESERVED_PROPERTY
A reserved property name used to refer to the scatter property of the entity. Used for finding split points (e.g. for mapping over a kind).- See Also:
- Constant Field Values
-
VERSION_RESERVED_PROPERTY
public static final String VERSION_RESERVED_PROPERTY
A reserved property name used to report an entity group's version.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Entity
public Entity(String kind)
-
Entity
public Entity(String kind, String keyName)
Create a newEntity
with the specified kind and key name and no parentEntity
. The instantiatedEntity
will have a completeKey
when this constructor returns. TheKey's
name
field will be set to the value ofkeyName
.This constructor is syntactic sugar for
new Entity(KeyFactory.createKey(kind, keyName))
.
-
Entity
public Entity(String kind, long id)
Create a newEntity
with the specified kind and ID and no parentEntity
. The instantiatedEntity
will have a completeKey
when this constructor returns. TheKey's
id
field will be set to the value ofid
.Creating an entity for the purpose of insertion (as opposed to update) with this constructor is discouraged unless the id was obtained from a key returned by a
KeyRange
obtained fromAsyncDatastoreService.allocateIds(String, long)
orDatastoreService.allocateIds(String, long)
for the same kind.This constructor is syntactic sugar for
new Entity(KeyFactory.createKey(kind, id))
.
-
Entity
public Entity(String kind, String keyName, Key parent)
Create a newEntity
with the specified kind, key name, and parentEntity
. The instantiatedEntity
will have a completeKey
when this constructor returns. TheKey's
name
field will be set to the value ofkeyName
.This constructor is syntactic sugar for
new Entity(KeyFactory.createKey(parent, kind, keyName))
.
-
Entity
public Entity(String kind, long id, Key parent)
Create a newEntity
with the specified kind and ID and parentEntity
. The instantiatedEntity
will have a completeKey
when this constructor returns. TheKey's
id
field will be set to the value ofid
.Creating an entity for the purpose of insertion (as opposed to update) with this constructor is discouraged unless the id was obtained from a key returned by a
KeyRange
obtained fromAsyncDatastoreService.allocateIds(Key, String, long)
orDatastoreService.allocateIds(Key, String, long)
for the same parent and kind.This constructor is syntactic sugar for
new Entity(KeyFactory.createKey(parent, kind, id))
.
-
-
Method Detail
-
equals
public boolean equals(@Nullable Object object)
TwoEntity
objects are considered equal if they refer to the same entity (i.e. theirKey
objects match).
-
getKey
public Key getKey()
Returns theKey
that represents thisEntity
. If the entity has not yet been saved (e.g. viaDatastoreService.put
), thisKey
will not be fully specified and cannot be used for certain operations (likeDatastoreService.get
). Once theEntity
has been saved, itsKey
will be updated to be fully specified.
-
getKind
public String getKind()
Returns a logical type that is associated with thisEntity
. This is simply a convenience method that forwards to theKey
for thisEntity
.
-
getParent
public @Nullable Key getParent()
Get aKey
that corresponds to this the parentEntity
of thisEntity
. This is simply a convenience method that forwards to theKey
for thisEntity
.
-
getAppId
public String getAppId()
Returns the identifier of the application that owns thisEntity
. This is simply a convenience method that forwards to theKey
for thisEntity
.
-
getNamespace
public String getNamespace()
Returns the namespace of the application/namespace that owns thisEntity
. This is simply a convenience method that forwards to theKey
for thisEntity
.
-
clone
public Entity clone()
Returns a shallow copy of thisEntity
instance.Collection
properties are cloned as anArrayList
, the type returned from the datastore. Instances of mutable datastore types are cloned as well. Instances of all other types are reused.- Returns:
- a shallow copy of this
Entity
-
setPropertiesFrom
public void setPropertiesFrom(Entity src)
-
-