public final class Entity extends PropertyContainer implements java.lang.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.
Modifier and Type | Field and Description |
---|---|
static java.lang.String
|
KEY_RESERVED_PROPERTY
A reserved property name used to refer to the key of the entity.
|
static java.lang.String
|
SCATTER_RESERVED_PROPERTY
A reserved property name used to refer to the scatter property of the
entity.
|
static java.lang.String
|
VERSION_RESERVED_PROPERTY
A reserved property name used to report an entity group's version.
|
Constructor and Description |
---|
Entity
(
Key
key)
Create a new
Entity
uniquely identified by the provided
Key
.
|
Entity
(java.lang.String kind)
Create a new
Entity
with the specified kind and no
parent
Entity
.
|
Entity
(java.lang.String kind,
Key
parent)
Create a new
Entity
with the specified kind and parent
Entity
.
|
Entity
(java.lang.String kind,
long id)
Create a new
Entity
with the specified kind and ID and no
parent
Entity
.
|
Entity
(java.lang.String kind,
long id,
Key
parent)
Create a new
Entity
with the specified kind and ID and
parent
Entity
.
|
Entity
(java.lang.String kind,
java.lang.String keyName)
Create a new
Entity
with the specified kind and key name and no
parent
Entity
.
|
Entity
(java.lang.String kind,
java.lang.String keyName,
Key
parent)
Create a new
Entity
with the specified kind, key name, and
parent
Entity
.
|
Modifier and Type | Method and Description |
---|---|
Entity
|
clone
()
Returns a shallow copy of this
Entity
instance.
|
boolean
|
equals
(java.lang.Object object)
Two
Entity
objects are considered equal if they refer to
the same entity (i.e.
|
java.lang.String
|
getAppId
()
Returns the identifier of the application that owns this
Entity
.
|
Key
|
getKey
()
Returns the
Key
that represents this
Entity
.
|
java.lang.String
|
getKind
()
Returns a logical type that is associated with this
Entity
.
|
java.lang.String
|
getNamespace
()
Returns the namespace of the application/namespace that owns
this
Entity
.
|
Key
|
getParent
()
Get a
Key
that corresponds to this the parent
Entity
of this
Entity
.
|
int
|
hashCode
()
|
void
|
setPropertiesFrom
(
Entity
src)
|
java.lang.String
|
toString
()
|
getProperties
,
getProperty
,
hasProperty
,
isUnindexedProperty
,
removeProperty
,
setPropertiesFrom
,
setProperty
,
setUnindexedProperty
public static final java.lang.String KEY_RESERVED_PROPERTY
public static final java.lang.String SCATTER_RESERVED_PROPERTY
public static final java.lang.String VERSION_RESERVED_PROPERTY
public Entity(java.lang.String kind)
public Entity(java.lang.String kind, Key parent)
public Entity(java.lang.String kind, java.lang.String keyName)
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))
.
public Entity(java.lang.String kind, long id)
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))
.
public Entity(java.lang.String kind, java.lang.String keyName, Key parent)
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))
.
public Entity(java.lang.String kind, long id, Key parent)
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))
.
public boolean equals(java.lang.Object object)
Entity
objects are considered equal if they refer to
the same entity (i.e. their
Key
objects match).
equals
in class
java.lang.Object
public Key getKey()
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.
public java.lang.String getKind()
Entity
. This is simply a convenience method that forwards to
the
Key
for this
Entity
.
public Key getParent()
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
.
public int hashCode()
hashCode
in class
java.lang.Object
public java.lang.String toString()
toString
in class
java.lang.Object
public java.lang.String getAppId()
Entity
. This is simply a convenience method that forwards to
the
Key
for this
Entity
.
public java.lang.String getNamespace()
Entity
. This is simply a convenience method that forwards to
the
Key
for this
Entity
.
public Entity clone()
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.
Entity
public void setPropertiesFrom(Entity src)