Class ResolverServiceLayer
- java.lang.Object
-
- com.google.web.bindery.requestfactory.server.ServiceLayer
-
- com.google.web.bindery.requestfactory.server.ServiceLayerDecorator
-
- com.google.web.bindery.requestfactory.server.ResolverServiceLayer
-
final class ResolverServiceLayer extends ServiceLayerDecorator
Implements all of the resolution methods in ServiceLayer.
-
-
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
Constructors Constructor Description ResolverServiceLayer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ClassLoader
getDomainClassLoader()
Returns the ClassLoader that should be used when attempting to access domain classes or resources.java.lang.Class<? extends BaseProxy>
resolveClass(java.lang.String typeToken)
Given a type token previously returned fromServiceLayer.resolveTypeToken(Class)
, return the Class literal associated with the token.<T> java.lang.Class<? extends T>
resolveClientType(java.lang.Class<?> domainClass, java.lang.Class<T> clientClass, boolean required)
Determine the type used by the client code to represent a given domain type.java.lang.Class<?>
resolveDomainClass(java.lang.Class<?> clazz)
Determine the domain (server-side) type that the given client type is mapped to.java.lang.reflect.Method
resolveDomainMethod(java.lang.String operation)
Return the domain service method associated with a RequestContext method declaration.java.lang.Class<? extends RequestContext>
resolveRequestContext(java.lang.String operation)
Find a RequestContext that should be used to fulfill the requested operation.java.lang.reflect.Method
resolveRequestContextMethod(java.lang.String operation)
Find a RequestContext method declaration by name.java.lang.Class<? extends RequestFactory>
resolveRequestFactory(java.lang.String binaryName)
Loads and validates a RequestFactory interface.java.lang.Class<?>
resolveServiceClass(java.lang.Class<? extends RequestContext> requestContextClass)
Given aRequestContext
method, find the service class referenced in theService
orServiceName
annotation.java.lang.String
resolveTypeToken(java.lang.Class<? extends BaseProxy> clazz)
Return a string used to represent the given type in the wire protocol.-
Methods inherited from class com.google.web.bindery.requestfactory.server.ServiceLayerDecorator
createDomainObject, createLocator, createServiceInstance, createServiceLocator, die, getGetter, getId, getIdType, getNext, getProperty, getRequestReturnType, getSetter, getTop, getVersion, invoke, isLive, loadDomainObject, loadDomainObjects, report, report, requiresServiceLocator, resolveLocator, resolveServiceLocator, setProperty, validate
-
Methods inherited from class com.google.web.bindery.requestfactory.server.ServiceLayer
create
-
-
-
-
Method Detail
-
getDomainClassLoader
public java.lang.ClassLoader getDomainClassLoader()
Description copied from class:ServiceLayer
Returns the ClassLoader that should be used when attempting to access domain classes or resources.The default implementation returns
Thread.currentThread().getContextClassLoader()
.- Overrides:
getDomainClassLoader
in classServiceLayerDecorator
-
resolveClass
public java.lang.Class<? extends BaseProxy> resolveClass(java.lang.String typeToken)
Description copied from class:ServiceLayer
Given a type token previously returned fromServiceLayer.resolveTypeToken(Class)
, return the Class literal associated with the token.- Overrides:
resolveClass
in classServiceLayerDecorator
- Parameters:
typeToken
- a string token- Returns:
- the type represented by the token
-
resolveClientType
public <T> java.lang.Class<? extends T> resolveClientType(java.lang.Class<?> domainClass, java.lang.Class<T> clientClass, boolean required)
Description copied from class:ServiceLayer
Determine the type used by the client code to represent a given domain type. If multiple proxy types have been mapped to the same domain type, theclientType
parameter is used to ensure assignability.- Overrides:
resolveClientType
in classServiceLayerDecorator
- Parameters:
domainClass
- the server-side type to be transported to the clientclientClass
- the type to which the returned type must be assignablerequired
- iftrue
and no mapping is available, throw an exception, otherwise the method will returnnull
- Returns:
- a class that represents
domainClass
on the client which is assignable toclientType
-
resolveDomainClass
public java.lang.Class<?> resolveDomainClass(java.lang.Class<?> clazz)
Description copied from class:ServiceLayer
Determine the domain (server-side) type that the given client type is mapped to.- Overrides:
resolveDomainClass
in classServiceLayerDecorator
- Parameters:
clazz
- a client-side type- Returns:
- the domain type that
clientType
represents
-
resolveDomainMethod
public java.lang.reflect.Method resolveDomainMethod(java.lang.String operation)
Description copied from class:ServiceLayer
Return the domain service method associated with a RequestContext method declaration. TherequestContextMethod
will have been previously resolved by#resolveRequestContextMethod(String, String)
.- Overrides:
resolveDomainMethod
in classServiceLayerDecorator
- Returns:
- the domain service method that should be invoked
-
resolveRequestContext
public java.lang.Class<? extends RequestContext> resolveRequestContext(java.lang.String operation)
Description copied from class:ServiceLayer
Find a RequestContext that should be used to fulfill the requested operation.- Overrides:
resolveRequestContext
in classServiceLayerDecorator
- Parameters:
operation
- the operation- Returns:
- the RequestContext or
null
if no RequestContext exists that can fulfill the operation
-
resolveRequestContextMethod
public java.lang.reflect.Method resolveRequestContextMethod(java.lang.String operation)
Description copied from class:ServiceLayer
Find a RequestContext method declaration by name.- Overrides:
resolveRequestContextMethod
in classServiceLayerDecorator
- Parameters:
operation
- the operation's name- Returns:
- the method declaration, or
null
if the method does not exist
-
resolveRequestFactory
public java.lang.Class<? extends RequestFactory> resolveRequestFactory(java.lang.String binaryName)
Description copied from class:ServiceLayer
Loads and validates a RequestFactory interface.- Overrides:
resolveRequestFactory
in classServiceLayerDecorator
- Parameters:
binaryName
- the RequestFactory's type token (usually the type's binary name)- Returns:
- the RequestFactory type
-
resolveServiceClass
public java.lang.Class<?> resolveServiceClass(java.lang.Class<? extends RequestContext> requestContextClass)
Description copied from class:ServiceLayer
Given aRequestContext
method, find the service class referenced in theService
orServiceName
annotation.- Overrides:
resolveServiceClass
in classServiceLayerDecorator
- Parameters:
requestContextClass
- a RequestContext interface- Returns:
- the type of service to use
-
resolveTypeToken
public java.lang.String resolveTypeToken(java.lang.Class<? extends BaseProxy> clazz)
Description copied from class:ServiceLayer
Return a string used to represent the given type in the wire protocol.- Overrides:
resolveTypeToken
in classServiceLayerDecorator
- Parameters:
clazz
- a client-side EntityProxy or ValueProxy type- Returns:
- the type token used to represent the proxy type
-
-