Class MemcacheSerialization
- java.lang.Object
-
- com.google.appengine.api.memcache.MemcacheSerialization
-
public class MemcacheSerialization extends Object
Static serialization helpers used byMemcacheServiceImplThis class is thread-safe.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMemcacheSerialization.FlagValues used as flags on the MemcacheService's values.static classMemcacheSerialization.ValueAndFlagsTuple of a serialized byte array value and associated flags to interpret that value.
-
Field Summary
Fields Modifier and Type Field Description static StringUSE_THREAD_CONTEXT_CLASSLOADER_PROPERTY
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Objectdeserialize(byte[] value, int flags)Deserialize the object, according to its flags.static byte[]makePbKey(Object key)Converts the user's key Object into a byte[] for the MemcacheGetRequest.static MemcacheSerialization.ValueAndFlagsserialize(Object value)
-
-
-
Field Detail
-
USE_THREAD_CONTEXT_CLASSLOADER_PROPERTY
public static final String USE_THREAD_CONTEXT_CLASSLOADER_PROPERTY
- See Also:
- Constant Field Values
-
-
Method Detail
-
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 typeIOException- 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 alsonull. - 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
-
-