Class MemcacheSerialization
- java.lang.Object
-
- com.google.appengine.api.memcache.MemcacheSerialization
-
public class MemcacheSerialization extends Object
Static serialization helpers used byMemcacheServiceImpl
This class is thread-safe.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MemcacheSerialization.Flag
Values used as flags on the MemcacheService's values.static class
MemcacheSerialization.ValueAndFlags
Tuple of a serialized byte array value and associated flags to interpret that value.
-
Field Summary
Fields Modifier and Type Field Description static String
USE_THREAD_CONTEXT_CLASSLOADER_PROPERTY
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Object
deserialize(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.ValueAndFlags
serialize(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
-
-