Package com.helger.web.scope.singleton
Class AbstractRequestWebSingleton
- java.lang.Object
-
- com.helger.scope.singleton.AbstractSingleton
-
- com.helger.web.scope.singleton.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 Summary
Constructors Modifier Constructor Description protectedAbstractRequestWebSingleton()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.helger.commons.collection.impl.ICommonsList<AbstractRequestWebSingleton>getAllRequestSingletons()Get all singleton objects registered in the current request web scope.static <T extends AbstractRequestWebSingleton>
TgetRequestSingleton(Class<T> aClass)Get the singleton object in the current request web scope, using the passed class.static <T extends AbstractRequestWebSingleton>
TgetRequestSingletonIfInstantiated(Class<T> aClass)Get the singleton object if it is already instantiated inside the current request web scope ornullif it is not instantiated.static booleanisRequestSingletonInstantiated(Class<? extends AbstractRequestWebSingleton> aClass)Check if a singleton is already instantiated inside the current request web scope-
Methods inherited from class com.helger.scope.singleton.AbstractSingleton
getAllSingletons, getSingleton, getSingletonIfInstantiated, getSingletonScopeKey, isDestroyed, isInDestruction, isInInstantiation, isInPreDestruction, isInstantiated, isSingletonInstantiated, isUsableObject, onAfterInstantiation, onBeforeDestroy, onBeforeScopeDestruction, onDestroy, onScopeDestruction, readAbstractSingletonFields, setDestroyed, setInDestruction, setInInstantiation, setInPreDestruction, setInstantiated, toString, writeAbstractSingletonFields
-
-
-
-
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 benull. 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 ornullif it is not instantiated.- Type Parameters:
T- The type to be returned- Parameters:
aClass- The class to be checked. May not benull.- Returns:
- The singleton for the specified class is already instantiated,
nullotherwise.
-
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 benull.- Returns:
trueif the singleton for the specified class is already instantiated,falseotherwise.
-
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-
nulllist with all instances of this class in the current request web scope.
-
-