public final class DataTypeTranslator
extends java.lang.Object
DataTypeTranslator
is a utility class for converting
between the data store's Property
protocol buffers and the
user-facing classes (String
, User
, etc.).Modifier and Type | Class and Description |
---|---|
static class |
DataTypeTranslator.ComparableByteArray
A wrapper for a
byte[] that implements Comparable . |
Modifier and Type | Method and Description |
---|---|
static void |
addPropertiesToPb(java.util.Map<java.lang.String,java.lang.Object> map,
EntityProto proto)
Add all of the properties in the specified map to an
EntityProto . |
static void |
extractImplicitPropertiesFromPb(EntityProto proto,
java.util.Map<java.lang.String,java.lang.Object> map)
Copy all of the implicit properties present on
proto into map . |
static void |
extractIndexedPropertiesFromPb(EntityProto proto,
java.util.Map<java.lang.String,java.lang.Object> map)
Copy all of the indexed properties present on
proto into map . |
static void |
extractPropertiesFromPb(EntityProto proto,
java.util.Map<java.lang.String,java.lang.Object> map)
Copy all of the properties present on
proto into map . |
static java.util.Collection<Property> |
findIndexedPropertiesOnPb(EntityProto proto,
java.lang.String propertyName)
Locates and returns all indexed properties with the given name on the
given proto.
|
static java.lang.Comparable<java.lang.Object> |
getComparablePropertyValue(Property property)
Returns the value for the property as its comparable representation type.
|
static java.lang.Object |
getPropertyValue(Property property)
Returns the value for the property as its canonical type.
|
static int |
getTypeRank(java.lang.Class<? extends java.lang.Comparable> datastoreType)
Get the rank of the given datastore type relative to other datastore
types.
|
public static void addPropertiesToPb(java.util.Map<java.lang.String,java.lang.Object> map, EntityProto proto)
EntityProto
.
This involves determining the type of each property and creating the
proper type-specific protocol buffer.
If the property value is an Entity.UnindexedValue
, or if it's a
type that is never indexed, e.g. Text
and Blob
, it's
added to EntityProto.raw_property
. Otherwise it's added to
EntityProto.property
.map
- A not null
map of all the properties which will
be set on proto
proto
- A not null
protocol bufferpublic static void extractIndexedPropertiesFromPb(EntityProto proto, java.util.Map<java.lang.String,java.lang.Object> map)
proto
into map
.public static void extractPropertiesFromPb(EntityProto proto, java.util.Map<java.lang.String,java.lang.Object> map)
proto
into map
.public static void extractImplicitPropertiesFromPb(EntityProto proto, java.util.Map<java.lang.String,java.lang.Object> map)
proto
into map
.public static java.util.Collection<Property> findIndexedPropertiesOnPb(EntityProto proto, java.lang.String propertyName)
public static java.lang.Object getPropertyValue(Property property)
property
- a not null
propertynull
if no value was set for property
public static java.lang.Comparable<java.lang.Object> getComparablePropertyValue(Property property)
property
- a not null
propertynull
if no value was set for property
public static int getTypeRank(java.lang.Class<? extends java.lang.Comparable> datastoreType)