GWT 2.7.0

com.google.web.bindery.requestfactory.shared
Interface ProxySerializer


public interface ProxySerializer

Serializes graphs of EntityProxy objects. A ProxySerializer is associated with an instance of a ProxyStore when it is created via RequestFactory.getSerializer(ProxyStore).

The EntityProxy.stableId() of non-persisted (i.e. newly created) EntityProxy instances are not stable.

To create a self-contained message that encapsulates a proxy:

 RequestFactory myFactory = ...;
 MyFooProxy someProxy = ...;
 
 DefaultProxyStore store = new DefaultProxyStore();
 ProxySerializer ser = myFactory.getSerializer(store);
 // More than one proxy could be serialized
 String key = ser.serialize(someProxy);
 // Create the flattened representation
 String payload = store.encode();
 
To recreate the object:
 ProxyStore store = new DefaultProxyStore(payload);
 ProxySerializer ser = myFactory.getSerializer(store);
 MyFooProxy someProxy = ser.deserialize(MyFooProxy.class, key);
 
If two objects refer to different EntityProxy instances that have the same stableId(), the last mutable proxy encountered will be preferred, otherwise the first immutable proxy will be used.

See Also:
DefaultProxyStore

Method Summary
<T extends BaseProxy>
T
deserialize(java.lang.Class<T> proxyType, java.lang.String key)
          Recreate a proxy instance that was previously passed to serialize(BaseProxy).
<T extends EntityProxy>
T
deserialize(EntityProxyId<T> id)
          Recreate a EntityProxy instance that was previously passed to serialize(BaseProxy).
 java.lang.String serialize(BaseProxy proxy)
          Store a proxy into the backing store.
 

Method Detail

deserialize

<T extends BaseProxy> T deserialize(java.lang.Class<T> proxyType,
                                    java.lang.String key)
Recreate a proxy instance that was previously passed to serialize(BaseProxy).

Type Parameters:
T - the type of proxy object to create
Parameters:
proxyType - the type of proxy object to create
key - a value previously returned from serialize(BaseProxy)
Returns:
a new, immutable instance of the proxy or null if the data needed to deserialize the proxy is not present in the ProxyStore

deserialize

<T extends EntityProxy> T deserialize(EntityProxyId<T> id)
Recreate a EntityProxy instance that was previously passed to serialize(BaseProxy).

Type Parameters:
T - the type of proxy object to create
Parameters:
id - the EntityProxyId of the desired entity
Returns:
a new, immutable instance of the proxy or null if the data needed to deserialize the proxy is not present in the ProxyStore

serialize

java.lang.String serialize(BaseProxy proxy)
Store a proxy into the backing store.

Parameters:
proxy - the proxy to store
Returns:
a key value that can be passed to deserialize(Class, String)

GWT 2.7.0