Class ResolverServiceLayer


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

      • ResolverServiceLayer

        ResolverServiceLayer()
    • 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 class ServiceLayerDecorator
      • 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, 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 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 class ServiceLayerDecorator
        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. 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 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 class ServiceLayerDecorator
        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 class ServiceLayerDecorator
        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 class ServiceLayerDecorator
        Parameters:
        binaryName - the RequestFactory's type token (usually the type's binary name)
        Returns:
        the RequestFactory type
      • 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 class ServiceLayerDecorator
        Parameters:
        clazz - a client-side EntityProxy or ValueProxy type
        Returns:
        the type token used to represent the proxy type