Interface ContextSelector

All Known Subinterfaces:
NamedContextSelector
All Known Implementing Classes:
AsyncLoggerContextSelector, BasicAsyncLoggerContextSelector, BasicContextSelector, BundleContextSelector, ClassLoaderContextSelector, JndiContextSelector

public interface ContextSelector
Interface used to locate a LoggerContext.
  • Field Details

  • Method Details

    • shutdown

      default void shutdown(String fqcn, ClassLoader loader, boolean currentContext, boolean allContexts)
      Shuts down the LoggerContext.
      Parameters:
      fqcn - The fully qualified class name of the caller.
      loader - The ClassLoader to use or null.
      currentContext - If true returns the current Context, if false returns the Context appropriate
      allContexts - if true all LoggerContexts that can be located will be shutdown.
      Since:
      2.13.0
    • hasContext

      default boolean hasContext(String fqcn, ClassLoader loader, boolean currentContext)
      Checks to see if a LoggerContext is installed. The default implementation returns false.
      Parameters:
      fqcn - The fully qualified class name of the caller.
      loader - The ClassLoader to use or null.
      currentContext - If true returns the current Context, if false returns the Context appropriate for the caller if a more appropriate Context can be determined.
      Returns:
      true if a LoggerContext has been installed, false otherwise.
      Since:
      2.13.0
    • getContext

      LoggerContext getContext(String fqcn, ClassLoader loader, boolean currentContext)
      Returns the LoggerContext.
      Parameters:
      fqcn - The fully qualified class name of the caller.
      loader - ClassLoader to use or null.
      currentContext - If true returns the current Context, if false returns the Context appropriate for the caller if a more appropriate Context can be determined.
      Returns:
      The LoggerContext.
    • getContext

      default LoggerContext getContext(String fqcn, ClassLoader loader, Map.Entry<String,Object> entry, boolean currentContext)
      Returns the LoggerContext.
      Parameters:
      fqcn - The fully qualified class name of the caller.
      loader - ClassLoader to use or null.
      entry - An entry for the external Context map.
      currentContext - If true returns the current Context, if false returns the Context appropriate for the caller if a more appropriate Context can be determined.
      Returns:
      The LoggerContext.
    • getContext

      LoggerContext getContext(String fqcn, ClassLoader loader, boolean currentContext, URI configLocation)
      Returns the LoggerContext.
      Parameters:
      fqcn - The fully qualified class name of the caller.
      loader - ClassLoader to use or null.
      currentContext - If true returns the current Context, if false returns the Context appropriate for the caller if a more appropriate Context can be determined.
      configLocation - The location of the configuration for the LoggerContext.
      Returns:
      The LoggerContext.
    • getContext

      default LoggerContext getContext(String fqcn, ClassLoader loader, Map.Entry<String,Object> entry, boolean currentContext, URI configLocation)
      Returns the LoggerContext.
      Parameters:
      fqcn - The fully qualified class name of the caller.
      loader - ClassLoader to use or null.
      currentContext - If true returns the current Context, if false returns the Context appropriate for the caller if a more appropriate Context can be determined.
      configLocation - The location of the configuration for the LoggerContext.
      Returns:
      The LoggerContext.
    • getLoggerContexts

      List<LoggerContext> getLoggerContexts()
      Returns a List of all the available LoggerContexts.
      Returns:
      The List of LoggerContexts.
    • removeContext

      void removeContext(LoggerContext context)
      Remove any references to the LoggerContext.
      Parameters:
      context - The context to remove.
    • isClassLoaderDependent

      default boolean isClassLoaderDependent()
      Determines whether or not this ContextSelector depends on the callers classloader. This method should be overridden by implementations, however a default method is provided which always returns true to preserve the old behavior.
      Returns:
      true if the class loader is required.
      Since:
      2.15.0