GWT 2.7.0

## com.google.web.bindery.requestfactory.server
Class LocatorServiceLayer

    java.lang.Object
      com.google.web.bindery.requestfactory.server.ServiceLayer
          com.google.web.bindery.requestfactory.server.ServiceLayerDecorator
              com.google.web.bindery.requestfactory.server.LocatorServiceLayer

    final class LocatorServiceLayer

extends ServiceLayerDecorator

Adds support to the ServiceLayer chain for using `Locator` and `ServiceLocator` helper objects.

Field Summary

Fields inherited from class com.google.web.bindery.requestfactory.server.ServiceLayerDecorator
`next`

Fields inherited from class com.google.web.bindery.requestfactory.server.ServiceLayer
`top`

Constructor Summary
`LocatorServiceLayer()`

Method Summary

`

`<T> T`

`

`createDomainObject(java.lang.Class<T> clazz)`
Create an instance of the requested domain type.

`

`<T extends Locator<?,?>> T`

`

`createLocator(java.lang.Class<T> clazz)`
Create an instance of the requested `Locator` type.

`java.lang.Object` | `createServiceInstance(java.lang.Class<? extends RequestContext> requestContext)` Create an instance of a service object that can be used as the target for the given method invocation.

`

`<T extends ServiceLocator> T`

`

`createServiceLocator(java.lang.Class<T> serviceLocatorType)`
Create an instance of the requested `ServiceLocator` type.

`java.lang.Object` | `getId(java.lang.Object domainObject)` Return the persistent id for a domain object.
`java.lang.Class<?>` | `getIdType(java.lang.Class<?> domainType)` Returns the type of object the domain type's `findFoo()` or `Locator.getId()` expects to receive.
`java.lang.Object` | `getVersion(java.lang.Object domainObject)` May return `null` to indicate that the domain object has not been persisted.
`boolean` | `isLive(java.lang.Object domainObject)` Returns `true` if the given domain object is still live (i.e.

`

`<T> T`

`

`loadDomainObject(java.lang.Class<T> clazz, java.lang.Object domainId)`
Load an object from the backing store.

`boolean` | `requiresServiceLocator(java.lang.reflect.Method contextMethod, java.lang.reflect.Method domainMethod)` Returns true if the context method returns a `Request` and the domain method is non-static.
`java.lang.Class<? extends Locator<?,?>>` | `resolveLocator(java.lang.Class<?> domainType)` Return the type of `Locator` that should be used to access the given domain type.
`java.lang.Class<? extends ServiceLocator>` | `resolveServiceLocator(java.lang.Class<? extends RequestContext> requestContext)` Given a RequestContext method declaration, resolve the `ServiceLocator` that should be used when invoking the domain method.

Methods inherited from class com.google.web.bindery.requestfactory.server.ServiceLayerDecorator
`die, getDomainClassLoader, getGetter, getNext, getProperty, getRequestReturnType, getSetter, getTop, invoke, loadDomainObjects, report, report, resolveClass, resolveClientType, resolveDomainClass, resolveDomainMethod, resolveRequestContext, resolveRequestContextMethod, resolveRequestFactory, resolveServiceClass, resolveTypeToken, setProperty, validate`

Methods inherited from class com.google.web.bindery.requestfactory.server.ServiceLayer
`create`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LocatorServiceLayer

    LocatorServiceLayer()

Method Detail

### createDomainObject

    public <T> T createDomainObject(java.lang.Class<T> clazz)

  Description copied from class: `ServiceLayer`
  Create an instance of the requested domain type.

  Overrides:
    `createDomainObject` in class `ServiceLayerDecorator`
  Type Parameters:
    `T` - the requested domain type
  Parameters:
    `clazz` - the requested domain type
  Returns:
    an instance of the requested domain type

### createLocator

    public <T extends Locator<?,?>> T createLocator(java.lang.Class<T> clazz)

  Description copied from class: `ServiceLayer`
  Create an instance of the requested `Locator` type.

  Overrides:
    `createLocator` in class `ServiceLayerDecorator`
  Type Parameters:
    `T` - the requested Locator type
  Parameters:
    `clazz` - the requested Locator type
  Returns:
    an instance of the requested Locator type

### createServiceInstance

    public java.lang.Object createServiceInstance(java.lang.Class<? extends RequestContext> requestContext)

  Description copied from class: `ServiceLayer`
  Create an instance of a service object that can be used as the target for the given method invocation.

  Overrides:
    `createServiceInstance` in class `ServiceLayerDecorator`
  Parameters:
    `requestContext` - the RequestContext type for which a service object must be instantiated.
  Returns:
    an instance of the requested service object

### createServiceLocator

    public <T extends ServiceLocator> T createServiceLocator(java.lang.Class<T> serviceLocatorType)

  Description copied from class: `ServiceLayer`
  Create an instance of the requested `ServiceLocator` type.

  Overrides:
    `createServiceLocator` in class `ServiceLayerDecorator`
  Type Parameters:
    `T` - the requested ServiceLocator type
  Parameters:
    `serviceLocatorType` - the requested ServiceLocator type
  Returns:
    an instance of the requested ServiceLocator type

### getId

    public java.lang.Object getId(java.lang.Object domainObject)

  Description copied from class: `ServiceLayer`
  Return the persistent id for a domain object. May return `null` to indicate that the domain object has not been persisted. The value returned from this method must be a simple type (e.g. Integer, String) or a domain type for which a mapping to an EntityProxy or Value proxy exists.

  The values returned from this method may be passed to `ServiceLayer.loadDomainObject(Class, Object)` in the future.

  Overrides:
    `getId` in class `ServiceLayerDecorator`
  Parameters:
    `domainObject` - a domain object
  Returns:
    the persistent id of the domain object or `null` if the object is not persistent

### getIdType

    public java.lang.Class<?> getIdType(java.lang.Class<?> domainType)

  Description copied from class: `ServiceLayer`
  Returns the type of object the domain type's `findFoo()` or `Locator.getId()` expects to receive.

  Overrides:
    `getIdType` in class `ServiceLayerDecorator`
  Parameters:
    `domainType` - a domain entity type
  Returns:
    the type of the persistent id value used to represent the domain type

### getVersion

    public java.lang.Object getVersion(java.lang.Object domainObject)

  Description copied from class: `ServiceLayer`
  May return `null` to indicate that the domain object has not been persisted. The value returned from this method must be a simple type (e.g. Integer, String) or a domain type for which a mapping to an EntityProxy or Value proxy exists.

  Overrides:
    `getVersion` in class `ServiceLayerDecorator`
  Parameters:
    `domainObject` - a domain object
  Returns:
    the version of the domain object or `null` if the object is not persistent

### isLive

    public boolean isLive(java.lang.Object domainObject)

  Description copied from class: `ServiceLayer`
  Returns `true` if the given domain object is still live (i.e. not deleted) in the backing store.

  Overrides:
    `isLive` in class `ServiceLayerDecorator`
  Parameters:
    `domainObject` - a domain entity
  Returns:
    `true` if `domainObject` could be retrieved at a later point in time

### loadDomainObject

    public <T> T loadDomainObject(java.lang.Class<T> clazz,
                                  java.lang.Object domainId)

  Description copied from class: `ServiceLayer`
  Load an object from the backing store. This method may return `null` to indicate that the requested object is no longer available.

  Overrides:
    `loadDomainObject` in class `ServiceLayerDecorator`
  Type Parameters:
    `T` - the type of object to load
  Parameters:
    `clazz` - the type of object to load
    `domainId` - an id previously returned from `ServiceLayer.getId(Object)`
  Returns:
    the requested object or `null` if it is irretrievable

### requiresServiceLocator

    public boolean requiresServiceLocator(java.lang.reflect.Method contextMethod,
                                          java.lang.reflect.Method domainMethod)

  Returns true if the context method returns a `Request` and the domain method is non-static.

  Overrides:
    `requiresServiceLocator` in class `ServiceLayerDecorator`
  Parameters:
    `contextMethod` - a method defined in a RequestContext
    `domainMethod` - a domain method
  Returns:
    `true` if a ServiceLocator is required

### resolveLocator

    public java.lang.Class<? extends Locator<?,?>> resolveLocator(java.lang.Class<?> domainType)

  Description copied from class: `ServiceLayer`
  Return the type of `Locator` that should be used to access the given domain type.

  Overrides:
    `resolveLocator` in class `ServiceLayerDecorator`
  Parameters:
    `domainType` - a domain (server-side) type
  Returns:
    the type of Locator to use, or `null` if the type conforms to the RequestFactory entity protocol

### resolveServiceLocator

    public java.lang.Class<? extends ServiceLocator> resolveServiceLocator(java.lang.Class<? extends RequestContext> requestContext)

  Description copied from class: `ServiceLayer`
  Given a RequestContext method declaration, resolve the `ServiceLocator` that should be used when invoking the domain method. This method will only be called if `ServiceLayer.requiresServiceLocator(Method, Method)` returned `true` for the associated domain method.

  Overrides:
    `resolveServiceLocator` in class `ServiceLayerDecorator`
  Parameters:
    `requestContext` - the RequestContext for which a ServiceLocator must be located
  Returns:
    the type of ServiceLocator to use

GWT 2.7.0