Class Entity (2.0.0)

public final class Entity extends PropertyContainer implements Cloneable

Entity is the fundamental unit of data storage. It has an immutable identifier (contained in the Key) object, a reference to an optional parent Entity, a kind (represented as an arbitrary string), and a set of zero or more typed properties.

Inheritance

java.lang.Object > PropertyContainer > Entity

Implements

Cloneable

Static Fields

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.

Field Value
TypeDescription
String

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).

Field Value
TypeDescription
String

VERSION_RESERVED_PROPERTY

public static final String VERSION_RESERVED_PROPERTY

A reserved property name used to report an entity group's version.

Field Value
TypeDescription
String

Constructors

Entity(Key key)

public Entity(Key key)

Create a new Entity uniquely identified by the provided Key. Creating an entity for the purpose of insertion (as opposed to update) with a key that has its id field set is strongly discouraged unless the key was returned by a KeyRange. See Also: KeyRange

Parameter
NameDescription
keyKey

Entity(String kind)

public Entity(String kind)

Create a new Entity with the specified kind and no parent Entity. The instantiated Entity will have an incomplete Key when this constructor returns. The Key will remain incomplete until you put the Entity, after which time the Key will have its id set.

Parameter
NameDescription
kindString

Entity(String kind, @Nullable Key parent)

public Entity(String kind, @Nullable Key parent)

Create a new Entity with the specified kind and parent Entity. The instantiated Entity will have an incomplete Key when this constructor returns. The Key will remain incomplete until you put the Entity, after which time the Key will have its id set.

Parameters
NameDescription
kindString
parent@org.checkerframework.checker.nullness.qual.Nullable com.google.appengine.api.datastore.Key

Entity(String kind, String keyName)

public Entity(String kind, String keyName)

Create a new Entity with the specified kind and key name and no parent Entity. The instantiated Entity will have a complete Key when this constructor returns. The Key's name field will be set to the value of keyName.

This constructor is syntactic sugar for new Entity(KeyFactory.createKey(kind, keyName)).

Parameters
NameDescription
kindString
keyNameString

Entity(String kind, String keyName, Key parent)

public Entity(String kind, String keyName, Key parent)

Create a new Entity with the specified kind, key name, and parent Entity. The instantiated Entity will have a complete Key when this constructor returns. The Key's name field will be set to the value of keyName.

This constructor is syntactic sugar for new Entity(KeyFactory.createKey(parent, kind, keyName)).

Parameters
NameDescription
kindString
keyNameString
parentKey

Entity(String kind, long id)

public Entity(String kind, long id)

Create a new Entity with the specified kind and ID and no parent Entity. The instantiated Entity will have a complete Key when this constructor returns. The Key's id field will be set to the value of id.

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 from AsyncDatastoreService#allocateIds(String, long) or DatastoreService#allocateIds(String, long) for the same kind.

This constructor is syntactic sugar for new Entity(KeyFactory.createKey(kind, id)).

Parameters
NameDescription
kindString
idlong

Entity(String kind, long id, Key parent)

public Entity(String kind, long id, Key parent)

Create a new Entity with the specified kind and ID and parent Entity. The instantiated Entity will have a complete Key when this constructor returns. The Key's id field will be set to the value of id.

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 from AsyncDatastoreService#allocateIds(Key, String, long) or DatastoreService#allocateIds(Key, String, long) for the same parent and kind.

This constructor is syntactic sugar for new Entity(KeyFactory.createKey(parent, kind, id)).

Parameters
NameDescription
kindString
idlong
parentKey

Methods

clone()

public Entity clone()

Returns a shallow copy of this Entity instance. Collection properties are cloned as an ArrayList, the type returned from the datastore. Instances of mutable datastore types are cloned as well. Instances of all other types are reused.

Returns
TypeDescription
Entity

a shallow copy of this Entity

Overrides

equals(@Nullable Object object)

public boolean equals(@Nullable Object object)

Two Entity objects are considered equal if they refer to the same entity (i.e. their Key objects match).

Parameter
NameDescription
object@org.checkerframework.checker.nullness.qual.Nullable java.lang.Object
Returns
TypeDescription
boolean
Overrides

getAppId()

public String getAppId()

Returns the identifier of the application that owns this Entity. This is simply a convenience method that forwards to the Key for this Entity.

Returns
TypeDescription
String

getKey()

public Key getKey()

Returns the Key that represents this Entity. If the entity has not yet been saved (e.g. via DatastoreService.put), this Key will not be fully specified and cannot be used for certain operations (like DatastoreService.get). Once the Entity has been saved, its Key will be updated to be fully specified.

Returns
TypeDescription
Key

getKind()

public String getKind()

Returns a logical type that is associated with this Entity. This is simply a convenience method that forwards to the Key for this Entity.

Returns
TypeDescription
String

getNamespace()

public String getNamespace()

Returns the namespace of the application/namespace that owns this Entity. This is simply a convenience method that forwards to the Key for this Entity.

Returns
TypeDescription
String

getParent()

public @Nullable Key getParent()

Get a Key that corresponds to this the parent Entity of this Entity. This is simply a convenience method that forwards to the Key for this Entity.

Returns
TypeDescription
@org.checkerframework.checker.nullness.qual.Nullable com.google.appengine.api.datastore.Key

hashCode()

public int hashCode()
Returns
TypeDescription
int
Overrides

setPropertiesFrom(Entity src)

public void setPropertiesFrom(Entity src)
Parameter
NameDescription
srcEntity

toString()

public String toString()
Returns
TypeDescription
String
Overrides