DataTypeTranslator (Google App Engine API for Java)

com.google.appengine.api.datastore

Class DataTypeTranslator

  • java.lang.Object
    • com.google.appengine.api.datastore.DataTypeTranslator


  • 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.).
    • Method Summary

      All Methods Static Methods Concrete Methods 
      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.
      static Entity toEntityFromSerializedV1Proto(byte[] serializedV1Entity)
      Deserializes a Cloud Datastore V1 Entity protobuf and converts it to an App Engine Datastore Entity.
      static byte[] toSerializedV1Proto(Entity entity)
      Converts an App Engine Datastore Entity to a Cloud Datastore Entity V1 protobuf and serializes it.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • addPropertiesToPb

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

        Parameters:
        map - A not null map of all the properties which will be set on proto
        proto - A not null protocol buffer
      • extractIndexedPropertiesFromPb

        public 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.
      • extractPropertiesFromPb

        public 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.
      • extractImplicitPropertiesFromPb

        public 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.
      • findIndexedPropertiesOnPb

        public 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. If there are a mix of matching multiple and non-multiple properties, the collection will contain the first non-multiple property.
        Returns:
        A list, potentially empty, containing matching properties.
      • getPropertyValue

        public static java.lang.Object getPropertyValue(Property property)
        Returns the value for the property as its canonical type.
        Parameters:
        property - a not null property
        Returns:
        null if no value was set for property
      • toEntityFromSerializedV1Proto

        public static Entity toEntityFromSerializedV1Proto(byte[] serializedV1Entity)
        Deserializes a Cloud Datastore V1 Entity protobuf and converts it to an App Engine Datastore Entity. serializedV1Entity should be an output of toSerializedV1Proto(com.google.appengine.api.datastore.Entity); no guarantees for other inputs.
        Throws:
        java.lang.IllegalArgumentException - if the argument could not be deserialized
      • toSerializedV1Proto

        public static byte[] toSerializedV1Proto(Entity entity)
        Converts an App Engine Datastore Entity to a Cloud Datastore Entity V1 protobuf and serializes it.

        Note that the conversion may be lossy or fail; for example, the Cloud Datastore V1 API supports only UTF-8 strings, so App Engine Datastore entities with string properties that are not UTF-8 encoded may behave in unexpected ways if supplied to Cloud Datastore. You can verify that the conversion was successful for entity x by checking x.equals(toEntityFromSerializedV1Proto(toSerializedV1Proto(x)).

      • getComparablePropertyValue

        public static java.lang.Comparable<java.lang.Object> getComparablePropertyValue(Property property)
        Returns the value for the property as its comparable representation type.
        Parameters:
        property - a not null property
        Returns:
        null if no value was set for property
      • getTypeRank

        public static int getTypeRank(java.lang.Class<? extends java.lang.Comparable> datastoreType)
        Get the rank of the given datastore type relative to other datastore types. Note that datastore types do not necessarily have unique ranks.
Was this page helpful? Let us know how we did:

Send feedback about...

App Engine standard environment for Java