|
GWT 2.7.0 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.google.web.bindery.requestfactory.server.ServiceLayer
com.google.web.bindery.requestfactory.server.ServiceLayerDecorator
com.google.web.bindery.requestfactory.server.ServiceLayerCache
class ServiceLayerCache
A cache for idempotent methods in ServiceLayer. The caching is
separate from ReflectiveServiceLayer so that the cache can be applied
to any decorators injected by the user.
| 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 | |
|---|---|
ServiceLayerCache()
|
|
| Method Summary | ||
|---|---|---|
|
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. |
|
java.lang.ClassLoader |
getDomainClassLoader()
Returns the ClassLoader that should be used when attempting to access domain classes or resources. |
|
java.lang.reflect.Method |
getGetter(java.lang.Class<?> domainType,
java.lang.String property)
Determine the method to invoke when retrieving the given property. |
|
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.reflect.Type |
getRequestReturnType(java.lang.reflect.Method contextMethod)
Compute the return type for a method declared in a RequestContext by analyzing the generic method declaration. |
|
java.lang.reflect.Method |
getSetter(java.lang.Class<?> domainType,
java.lang.String property)
Determine the method to invoke when setting the given property. |
|
boolean |
requiresServiceLocator(java.lang.reflect.Method contextMethod,
java.lang.reflect.Method domainMethod)
Determines if the invocation of a domain method requires a ServiceLocator as the 0th parameter when passed into
ServiceLayer.invoke(Method, Object...). |
|
java.lang.Class<? extends BaseProxy> |
resolveClass(java.lang.String typeToken)
Given a type token previously returned from ServiceLayer.resolveTypeToken(Class), return the Class literal associated with
the token. |
|
|
resolveClientType(java.lang.Class<?> domainClass,
java.lang.Class<T> clientType,
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 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 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 a RequestContext method, find the service class referenced in
the Service or
ServiceName annotation. |
|
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. |
|
java.lang.String |
resolveTypeToken(java.lang.Class<? extends BaseProxy> domainClass)
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, createServiceLocator, die, getId, getNext, getProperty, getTop, getVersion, invoke, isLive, loadDomainObject, loadDomainObjects, report, report, 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 |
|---|
ServiceLayerCache()
| Method Detail |
|---|
public <T extends Locator<?,?>> T createLocator(java.lang.Class<T> clazz)
ServiceLayerLocator type.
createLocator in class ServiceLayerDecoratorT - the requested Locator typeclazz - the requested Locator type
public java.lang.Object createServiceInstance(java.lang.Class<? extends RequestContext> requestContext)
ServiceLayer
createServiceInstance in class ServiceLayerDecoratorrequestContext - the RequestContext type for which a service object
must be instantiated.
public java.lang.ClassLoader getDomainClassLoader()
ServiceLayer
The default implementation returns
Thread.currentThread().getContextClassLoader().
getDomainClassLoader in class ServiceLayerDecorator
public java.lang.reflect.Method getGetter(java.lang.Class<?> domainType,
java.lang.String property)
ServiceLayer
getGetter in class ServiceLayerDecoratordomainType - a domain entity typeproperty - the name of the property to be retrieved
null if the method could not be locatedpublic java.lang.Class<?> getIdType(java.lang.Class<?> domainType)
ServiceLayerfindFoo() or
Locator.getId() expects to receive.
getIdType in class ServiceLayerDecoratordomainType - a domain entity type
public java.lang.reflect.Type getRequestReturnType(java.lang.reflect.Method contextMethod)
ServiceLayer
getRequestReturnType in class ServiceLayerDecorator
public java.lang.reflect.Method getSetter(java.lang.Class<?> domainType,
java.lang.String property)
ServiceLayer
getSetter in class ServiceLayerDecoratordomainType - a domain entity typeproperty - the name of the property to be set
null if the method could not be located
public boolean requiresServiceLocator(java.lang.reflect.Method contextMethod,
java.lang.reflect.Method domainMethod)
ServiceLayerServiceLocator as the 0th parameter when passed into
ServiceLayer.invoke(Method, Object...).
requiresServiceLocator in class ServiceLayerDecoratorcontextMethod - a method defined in a RequestContextdomainMethod - a domain method
true if a ServiceLocator is requiredpublic java.lang.Class<? extends BaseProxy> resolveClass(java.lang.String typeToken)
ServiceLayerServiceLayer.resolveTypeToken(Class), return the Class literal associated with
the token.
resolveClass in class ServiceLayerDecoratortypeToken - a string token
public <T> java.lang.Class<? extends T> resolveClientType(java.lang.Class<?> domainClass,
java.lang.Class<T> clientType,
boolean required)
ServiceLayerclientType parameter is used to ensure assignability.
resolveClientType in class ServiceLayerDecoratordomainClass - the server-side type to be transported to the clientclientType - the type to which the returned type must be assignablerequired - if true and no mapping is available, throw an
exception, otherwise the method will return null
domainClass on the client which is
assignable to clientTypepublic java.lang.Class<?> resolveDomainClass(java.lang.Class<?> clazz)
ServiceLayer
resolveDomainClass in class ServiceLayerDecoratorclazz - a client-side type
clientType representspublic java.lang.reflect.Method resolveDomainMethod(java.lang.String operation)
ServiceLayerrequestContextMethod will have been previously
resolved by #resolveRequestContextMethod(String, String).
resolveDomainMethod in class ServiceLayerDecoratorpublic java.lang.Class<? extends Locator<?,?>> resolveLocator(java.lang.Class<?> domainType)
ServiceLayerLocator that should be used to access the given
domain type.
resolveLocator in class ServiceLayerDecoratordomainType - a domain (server-side) type
null if the type conforms to
the RequestFactory entity protocolpublic java.lang.Class<? extends RequestContext> resolveRequestContext(java.lang.String operation)
ServiceLayer
resolveRequestContext in class ServiceLayerDecoratoroperation - the operation
null if no RequestContext exists that
can fulfill the operationpublic java.lang.reflect.Method resolveRequestContextMethod(java.lang.String operation)
ServiceLayer
resolveRequestContextMethod in class ServiceLayerDecoratoroperation - the operation's name
null if the method does not
existpublic java.lang.Class<? extends RequestFactory> resolveRequestFactory(java.lang.String binaryName)
ServiceLayer
resolveRequestFactory in class ServiceLayerDecoratorbinaryName - the RequestFactory's type token (usually the type's binary
name)
public java.lang.Class<?> resolveServiceClass(java.lang.Class<? extends RequestContext> requestContextClass)
ServiceLayerRequestContext method, find the service class referenced in
the Service or
ServiceName annotation.
resolveServiceClass in class ServiceLayerDecoratorrequestContextClass - a RequestContext interface
public java.lang.Class<? extends ServiceLocator> resolveServiceLocator(java.lang.Class<? extends RequestContext> requestContext)
ServiceLayerServiceLocator 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.
resolveServiceLocator in class ServiceLayerDecoratorrequestContext - the RequestContext for which a ServiceLocator must be
located
public java.lang.String resolveTypeToken(java.lang.Class<? extends BaseProxy> domainClass)
ServiceLayer
resolveTypeToken in class ServiceLayerDecoratordomainClass - a client-side EntityProxy or ValueProxy type
|
GWT 2.7.0 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||