Class AbstractGlobalSingleton

  • All Implemented Interfaces:
    IScopeDestructionAware
    Direct Known Subclasses:
    ScopeSessionManager

    public abstract class AbstractGlobalSingleton
    extends AbstractSingleton
    This is the base class for singleton objects that reside in the global scope. The global scope is identical for web scope and non-web scope applications.
    Author:
    Philip Helger
    See Also:
    EScope.GLOBAL
    • Constructor Detail

      • AbstractGlobalSingleton

        protected AbstractGlobalSingleton()
    • Method Detail

      • getGlobalSingleton

        @Nonnull
        public static final <T extends AbstractGlobalSingleton> T getGlobalSingleton​(@Nonnull
                                                                                     Class<T> aClass)
        Get the singleton object in the current global 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.
      • getGlobalSingletonIfInstantiated

        @Nullable
        public static final <T extends AbstractGlobalSingleton> T getGlobalSingletonIfInstantiated​(@Nonnull
                                                                                                   Class<T> aClass)
        Get the singleton object if it is already instantiated inside the current global 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.
      • isGlobalSingletonInstantiated

        public static final boolean isGlobalSingletonInstantiated​(@Nonnull
                                                                  Class<? extends AbstractGlobalSingleton> aClass)
        Check if a singleton is already instantiated inside the current global 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.
      • getAllGlobalSingletons

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