Class MemcacheSerialization

java.lang.Object
com.google.appengine.api.memcache.MemcacheSerialization

public class MemcacheSerialization extends Object
Static serialization helpers used by MemcacheServiceImpl This class is thread-safe.
  • Field Details

    • USE_THREAD_CONTEXT_CLASSLOADER_PROPERTY

      public static final String USE_THREAD_CONTEXT_CLASSLOADER_PROPERTY
      See Also:
  • Method Details

    • deserialize

      public static Object deserialize(byte[] value, int flags) throws ClassNotFoundException, IOException
      Deserialize the object, according to its flags. This would have private visibility, but is also used by LocalMemcacheService for the increment operation.
      Parameters:
      value -
      flags -
      Returns:
      the Object originally stored
      Throws:
      ClassNotFoundException - if the object can't be re-instantiated due to being an unlocatable type
      IOException - if the object can't be re-instantiated for some other reason
    • makePbKey

      public static byte[] makePbKey(Object key) throws IOException
      Converts the user's key Object into a byte[] for the MemcacheGetRequest. Because the underlying service has a length limit, we actually use the SHA1 hash of the serialized object as its key if it's not a basic type. For the basic types (that is, String, Boolean, and the fixed-point numbers), we use a human-readable representation.
      Parameters:
      key -
      Returns:
      hash result. For the key null, the hash is also null.
      Throws:
      IOException
    • serialize

      public static MemcacheSerialization.ValueAndFlags serialize(Object value) throws IOException
      Parameters:
      value -
      Returns:
      the ValueAndFlags containing a serialized representation of the Object and the flags to hint deserialization.
      Throws:
      IOException - for serialization errors, normally due to a non-serializable object type