Class ResolverServiceLayer


final class ResolverServiceLayer extends ServiceLayerDecorator
Implements all of the resolution methods in ServiceLayer.
  • Constructor Details

    • ResolverServiceLayer

      ResolverServiceLayer()
  • Method Details

    • getDomainClassLoader

      public 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 class ServiceLayerDecorator
    • resolveClass

      public Class<? extends BaseProxy> resolveClass(String typeToken)
      Description copied from class: ServiceLayer
      Given a type token previously returned from ServiceLayer.resolveTypeToken(Class), return the Class literal associated with the token.
      Overrides:
      resolveClass in class ServiceLayerDecorator
      Parameters:
      typeToken - a string token
      Returns:
      the type represented by the token
    • resolveClientType

      public <T> Class<? extends T> resolveClientType(Class<?> domainClass, 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, the clientType parameter is used to ensure assignability.
      Overrides:
      resolveClientType in class ServiceLayerDecorator
      Parameters:
      domainClass - the server-side type to be transported to the client
      clientClass - the type to which the returned type must be assignable
      required - if true and no mapping is available, throw an exception, otherwise the method will return null
      Returns:
      a class that represents domainClass on the client which is assignable to clientType
    • resolveDomainClass

      public Class<?> resolveDomainClass(Class<?> clazz)
      Description copied from class: ServiceLayer
      Determine the domain (server-side) type that the given client type is mapped to.
      Overrides:
      resolveDomainClass in class ServiceLayerDecorator
      Parameters:
      clazz - a client-side type
      Returns:
      the domain type that clientType represents
    • resolveDomainMethod

      public Method resolveDomainMethod(String operation)
      Description copied from class: ServiceLayer
      Return the domain service method associated with a RequestContext method declaration. The requestContextMethod will have been previously resolved by #resolveRequestContextMethod(String, String).
      Overrides:
      resolveDomainMethod in class ServiceLayerDecorator
      Returns:
      the domain service method that should be invoked
    • resolveRequestContext

      public Class<? extends RequestContext> resolveRequestContext(String operation)
      Description copied from class: ServiceLayer
      Find a RequestContext that should be used to fulfill the requested operation.
      Overrides:
      resolveRequestContext in class ServiceLayerDecorator
      Parameters:
      operation - the operation
      Returns:
      the RequestContext or null if no RequestContext exists that can fulfill the operation
    • resolveRequestContextMethod

      public Method resolveRequestContextMethod(String operation)
      Description copied from class: ServiceLayer
      Find a RequestContext method declaration by name.
      Overrides:
      resolveRequestContextMethod in class ServiceLayerDecorator
      Parameters:
      operation - the operation's name
      Returns:
      the method declaration, or null if the method does not exist
    • resolveRequestFactory

      public Class<? extends RequestFactory> resolveRequestFactory(String binaryName)
      Description copied from class: ServiceLayer
      Loads and validates a RequestFactory interface.
      Overrides:
      resolveRequestFactory in class ServiceLayerDecorator
      Parameters:
      binaryName - the RequestFactory's type token (usually the type's binary name)
      Returns:
      the RequestFactory type
    • resolveServiceClass

      public Class<?> resolveServiceClass(Class<? extends RequestContext> requestContextClass)
      Description copied from class: ServiceLayer
      Given a RequestContext method, find the service class referenced in the Service or ServiceName annotation.
      Overrides:
      resolveServiceClass in class ServiceLayerDecorator
      Parameters:
      requestContextClass - a RequestContext interface
      Returns:
      the type of service to use
    • resolveTypeToken

      public String resolveTypeToken(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 class ServiceLayerDecorator
      Parameters:
      clazz - a client-side EntityProxy or ValueProxy type
      Returns:
      the type token used to represent the proxy type