GWT 2.7.0

com.google.web.bindery.requestfactory.shared
Class Locator<T,I>

java.lang.Object
  extended by com.google.web.bindery.requestfactory.shared.Locator<T,I>
Type Parameters:
T - the type of domain object the Locator will operate on
I - the type of object the Locator expects to use as an id for the domain object
Direct Known Subclasses:
ValueLocator

public abstract class Locator<T,I>
extends java.lang.Object

A Locator allows entity types that do not conform to the RequestFactory entity protocol to be used. Instead of attempting to use a findFoo(), getId(), and getVersion() declared in the domain entity type, an instance of a Locator will be created to provide implementations of these methods.

Locator subtypes must be default instantiable (i.e. public static types with a no-arg constructor). Instances of Locators may be retained and reused by the RequestFactory service layer.

See Also:
ProxyFor.locator()

Constructor Summary
Locator()
           
 
Method Summary
abstract  T create(java.lang.Class<? extends T> clazz)
          Create a new instance of the requested type.
abstract  T find(java.lang.Class<? extends T> clazz, I id)
          Retrieve an object.
abstract  java.lang.Class<T> getDomainType()
          Returns the T type.
abstract  I getId(T domainObject)
          Returns a domain object to be used as the id for the given object.
abstract  java.lang.Class<I> getIdType()
          Returns the I type.
abstract  java.lang.Object getVersion(T domainObject)
          Returns a domain object to be used as the version for the given object.
 boolean isLive(T domainObject)
          Returns a value indicating if the domain object should no longer be considered accessible.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Locator

public Locator()
Method Detail

create

public abstract T create(java.lang.Class<? extends T> clazz)
Create a new instance of the requested type.

Parameters:
clazz - the type of object to create
Returns:
the new instance of the domain type

find

public abstract T find(java.lang.Class<? extends T> clazz,
                       I id)
Retrieve an object. May return null to indicate that the requested object could not be found.

Parameters:
clazz - the type of object to retrieve
id - an id previously returned from getId(Object)
Returns:
the requested object or null if it could not be found

getDomainType

public abstract java.lang.Class<T> getDomainType()
Returns the T type.


getId

public abstract I getId(T domainObject)
Returns a domain object to be used as the id for the given object. This method may return null if the object has not been persisted or should be treated as irretrievable.

Parameters:
domainObject - the object to obtain an id for
Returns:
the object's id or null

getIdType

public abstract java.lang.Class<I> getIdType()
Returns the I type.


getVersion

public abstract java.lang.Object getVersion(T domainObject)
Returns a domain object to be used as the version for the given object. This method may return null if the object has not been persisted or should be treated as irretrievable.

Parameters:
domainObject - the object to obtain an id for
Returns:
the object's version or null

isLive

public boolean isLive(T domainObject)
Returns a value indicating if the domain object should no longer be considered accessible. This method might return false if the record underlying the domain object had been deleted as a side-effect of processing a request.

The default implementation of this method uses getId(Object) and find(Class, Object) to determine if an object can be retrieved.


GWT 2.7.0