Class AbstractRequestWebSingleton

  • All Implemented Interfaces:
    com.helger.scope.IScopeDestructionAware, IWebSingleton

    public abstract class AbstractRequestWebSingleton
    extends com.helger.scope.singleton.AbstractSingleton
    implements IWebSingleton
    This is the base class for singleton objects that reside in the request scope. This class can be used for web scopes and non-web scopes as it handled in the same object.
    Author:
    Philip Helger
    See Also:
    EWebScope.REQUEST
    • Constructor Detail

      • AbstractRequestWebSingleton

        protected AbstractRequestWebSingleton()
    • Method Detail

      • getRequestSingleton

        @Nonnull
        public static final <T extends AbstractRequestWebSingleton> T getRequestSingleton​(@Nonnull
                                                                                          Class<T> aClass)
        Get the singleton object in the current request web scope, using the passed class. If the singleton is not yet instantiated, a new instance is created.
        Type Parameters:
        T - The type to be returned
        Parameters:
        aClass - The class to be used. May not be null. The class must be public as needs to have a public no-argument constructor.
        Returns:
        The singleton object and never null.
      • getRequestSingletonIfInstantiated

        @Nullable
        public static final <T extends AbstractRequestWebSingleton> T getRequestSingletonIfInstantiated​(@Nonnull
                                                                                                        Class<T> aClass)
        Get the singleton object if it is already instantiated inside the current request web scope or null if it is not instantiated.
        Type Parameters:
        T - The type to be returned
        Parameters:
        aClass - The class to be checked. May not be null.
        Returns:
        The singleton for the specified class is already instantiated, null otherwise.
      • isRequestSingletonInstantiated

        public static final boolean isRequestSingletonInstantiated​(@Nonnull
                                                                   Class<? extends AbstractRequestWebSingleton> aClass)
        Check if a singleton is already instantiated inside the current request web scope
        Parameters:
        aClass - The class to be checked. May not be null.
        Returns:
        true if the singleton for the specified class is already instantiated, false otherwise.
      • getAllRequestSingletons

        @Nonnull
        public static final com.helger.commons.collection.impl.ICommonsList<AbstractRequestWebSingleton> getAllRequestSingletons()
        Get all singleton objects registered in the current request web scope.
        Returns:
        A non-null list with all instances of this class in the current request web scope.