Interface SourceContext

    • Method Detail

      • getName

        java.lang.String getName()
        Obtains the name of the item being sourced.
        Returns:
        Name of item being sourced.
      • isLoadingType

        boolean isLoadingType()

        Indicates if just loading as a type.

        When loading as a type the configuration provided is disregarded. This allows sources to know when to load singleton configuration that will take effect.

        Whether this is true or false the resulting type should be the same.

        Returns:
        true if loading as a type.
      • getProfiles

        java.util.List<java.lang.String> getProfiles()
        Obtains the listing of active profiles.
        Returns:
        Active profiles.
      • loadOptionalClass

        java.lang.Class<?> loadOptionalClass​(java.lang.String name)
        Attempts to load the specified Class.
        Parameters:
        name - Name of the Class.
        Returns:
        Class or null if the Class can not be found.
      • loadClass

        java.lang.Class<?> loadClass​(java.lang.String name)
                              throws UnknownClassError
        Loads the Class.
        Parameters:
        name - Name of the Class.
        Returns:
        Class.
        Throws:
        UnknownClassError - If Class is not available. Let this propagate as OfficeFloor will handle it.
      • getOptionalResource

        java.io.InputStream getOptionalResource​(java.lang.String location)
        Attempts to obtain the resource at the specified location.
        Parameters:
        location - Location of the resource.
        Returns:
        InputStream to the contents of the resource or null if the resource can not be found.
      • getResource

        java.io.InputStream getResource​(java.lang.String location)
                                 throws UnknownResourceError
        Obtains the resource.
        Parameters:
        location - Location of the resource.
        Returns:
        InputStream to the contents of the resource.
        Throws:
        UnknownResourceError - If resource is not found. Let this propagate as OfficeFloor will handle it.
      • loadService

        <S,​F extends ServiceFactory<S>,​D extends F> S loadService​(java.lang.Class<F> serviceFactoryType,
                                                                              D defaultServiceFactory)
                                                                       throws UnknownServiceError,
                                                                              LoadServiceError
        Loads a single service.
        Type Parameters:
        S - Service type
        F - ServiceFactory type to create service.
        D - Default ServiceFactory type.
        Parameters:
        serviceFactoryType - Type of ServiceFactory.
        defaultServiceFactory - Default ServiceFactory implementation. May be null to indicate no default service (one must be configured).
        Returns:
        Service.
        Throws:
        UnknownServiceError - If service is not configured and no default provided. Will also be thrown if more than one service is configured.
        LoadServiceError - If fails to load the service.
      • loadOptionalService

        <S,​F extends ServiceFactory<S>> S loadOptionalService​(java.lang.Class<F> serviceFactoryType)
                                                             throws LoadServiceError
        Optionally loads a single service.
        Type Parameters:
        S - Service type
        F - ServiceFactory type to create service.
        Parameters:
        serviceFactoryType - Type of ServiceFactory.
        Returns:
        Service or null if no service configured.
        Throws:
        LoadServiceError - If fails to load the service or ServiceLoader finds more than one service configured.
      • loadOptionalServices

        <S,​F extends ServiceFactory<S>> java.lang.Iterable<S> loadOptionalServices​(java.lang.Class<F> serviceFactoryType)
                                                                                  throws LoadServiceError
        Optionally loads multiple services.
        Type Parameters:
        S - Service type
        F - ServiceFactory type to create service.
        Parameters:
        serviceFactoryType - Type of ServiceFactory.
        Returns:
        Iterable over the services. May be no entries available. The Iterable may also throw LoadServiceError if fails to create next service.
        Throws:
        LoadServiceError - If fails to load a service.
      • getClassLoader

        java.lang.ClassLoader getClassLoader()

        Obtains the ClassLoader.

        This is only provided in specific cases where a ClassLoader is required (such as creating a Proxy). The other methods of this interface should be used in preference to the returned ClassLoader.

        Returns:
        ClassLoader.
      • getLogger

        java.util.logging.Logger getLogger()

        Obtains the Logger.

        The Logger is named specific to the source. This is especially the case for re-use of Class within sources, as would not be able to differentiate.

        Returns:
        Logger.
      • getClock

        <T> Clock<T> getClock​(java.util.function.Function<java.lang.Long,​T> translator)
        Obtains the Clock.
        Parameters:
        translator - Translate the seconds since Epoch to "time" returned from the Clock.
        Returns:
        Clock.