Class KeyFactory (2.0.0)

public class KeyFactory

This class enables direct creation of Key objects, both in the root entity group (no parent) and as the child of a given parent. Keys can also be created indirectly by putting named Entities into the datastore, which will allocate a new key. See Entity#Entity(String, String) for details.

This class also has methods for encoding and decoding Key objects to and from strings. Clients should not make any assumptions about the encoding format, except that it is a websafe string that does not need to be quoted when used in HTML or in URLs. See Also: Entity

Inheritance

java.lang.Object > KeyFactory

Static Methods

createKey(@Nullable Key parent, String kind, String name)

public static Key createKey(@Nullable Key parent, String kind, String name)

Creates a new Key with the provided parent from its kind and name.

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

the parent of the key to create, can be null

kindString

the kind of the key to create

nameString

the name of the key in kind, as an arbitrary string unique across all entities of this kind with the same parent

Returns
TypeDescription
Key

createKey(@Nullable Key parent, String kind, long id)

public static Key createKey(@Nullable Key parent, String kind, long id)

Creates a new Key with the provided parent from its kind and ID.

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

the parent of the key to create, can be null

kindString

the kind of the key to create

idlong

the numeric identifier of the key in kind, unique across all entities of this kind with the same parent, must not be zero

Returns
TypeDescription
Key

createKey(String kind, String name)

public static Key createKey(String kind, String name)

Creates a new Key having no parent from its kind and name.

Parameters
NameDescription
kindString

the kind of the key to create

nameString

the name of the key in kind, as an arbitrary string unique across all root entities of this kind

Returns
TypeDescription
Key

createKey(String kind, long id)

public static Key createKey(String kind, long id)

Creates a new Key having no parent from its kind and ID.

Parameters
NameDescription
kindString

the kind of the key to create

idlong

the numeric identifier of the key in kind, unique across all root entities of this kind, must not be zero

Returns
TypeDescription
Key

createKeyString(@Nullable Key parent, String kind, String name)

public static String createKeyString(@Nullable Key parent, String kind, String name)

Shorthand for invoking #keyToString(Key) on the result of #createKey(Key, String, String)

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

the parent of the key to create, can be null.

kindString

the kind of the key to create

nameString

the name of the key in kind, as an arbitrary string unique across entities of this kind with the same parent

Returns
TypeDescription
String

A websafe String representation of the Key that was created

createKeyString(@Nullable Key parent, String kind, long id)

public static String createKeyString(@Nullable Key parent, String kind, long id)

Shorthand for invoking #keyToString(Key) on the result of #createKey(Key, String, long)

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

the parent of the key to create, can be null.

kindString

the kind of the key to create

idlong

the numeric identifier of the key in kind, unique across entities of this kind with the same parent, must not be zero

Returns
TypeDescription
String

A websafe String representation of the Key that was created

createKeyString(String kind, String name)

public static String createKeyString(String kind, String name)

Shorthand for invoking #keyToString(Key) on the result of #createKey(String, String)

Parameters
NameDescription
kindString

the kind of the key to create

nameString

the name of the key in kind, as an arbitrary string unique across root entities of this kind

Returns
TypeDescription
String

A websafe String representation of the Key that was created

createKeyString(String kind, long id)

public static String createKeyString(String kind, long id)

Shorthand for invoking #keyToString(Key) on the result of #createKey(String, long)

Parameters
NameDescription
kindString

the kind of the key to create

idlong

the numeric identifier of the key in kind, unique across all root entities of this kind, must not be zero

Returns
TypeDescription
String

A websafe String representation of the Key that was created

keyToString(Key key)

public static String keyToString(Key key)

Converts a Key into a websafe string. For example, this string can safely be used as an URL parameter embedded in a HTML document. Note that key.equals(KeyFactory.stringToKey(KeyFactory.keyToString(key)) should evaluate to true.

Parameter
NameDescription
keyKey

The Key to convert to a String.

Returns
TypeDescription
String

A websafe String representation of the provided String.

stringToKey(String encoded)

public static Key stringToKey(String encoded)

Converts a String-representation of a Key into the Key instance it represents. Note that str.equals(KeyFactory.keyToString(KeyFactory.stringToKey(str)) should evaluate to true for all strings returned by KeyFactory#keyToString.

Parameter
NameDescription
encodedString

The String representation of a Key.

Returns
TypeDescription
Key

The Key that the given String represents.