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 buffer
public 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
property
null
if no value was set for
property
public static java.lang.Comparable<java.lang.Object> getComparablePropertyValue(Property property)
property
- a not
null
property
null
if no value was set for
property
public static int getTypeRank(java.lang.Class<? extends java.lang.Comparable> datastoreType)