Class EvaluableCredentialCriteriaRegistry
java.lang.Object
org.opensaml.security.credential.criteria.impl.EvaluableCredentialCriteriaRegistry
A registry which manages mappings from types of
Criterion
to the class type which can evaluate that
criteria's data against a Credential target. That latter class will be a subtype of
EvaluableCredentialCriterion
. Each EvaluableCredentialCriterion implementation that is registered
MUST implement a single-arg constructor which takes an instance of the Criterion to be evaluated.
The evaluable instance is instantiated reflectively based on this requirement.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Properties file storing default mappings from criteria to evaluable credential criteria.private static boolean
Flag to track whether registry is initialized.private static final org.slf4j.Logger
Logger.private static Map<Class<? extends Criterion>,
Class<? extends EvaluableCredentialCriterion>> Storage for the registry mappings. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Clear all mappings from the registry.static void
deregister
(Class<? extends Criterion> criteriaClass) Deregister a criteria-evaluator mapping.static EvaluableCredentialCriterion
getEvaluator
(Criterion criteria) Get an instance ofEvaluableCredentialCriterion
which can evaluate the supplied criteria's requirements against a Credential target.static void
init()
Initialize the registry.static boolean
Check whether the registry has been initialized.static void
Load the default set of criteria-evaluator mappings from the default mappings properties file.static void
loadMappings
(Properties mappings) Load a set of criteria-evaluator mappings from the supplied properties set.static Class<? extends EvaluableCredentialCriterion>
Lookup the class subtype of EvaluableCredentialCriterion which is registered for the specified Criterion class.static void
register
(Class<? extends Criterion> criteriaClass, Class<? extends EvaluableCredentialCriterion> evaluableClass) Register a credential evaluator class for a criteria class.
-
Field Details
-
DEFAULT_MAPPINGS_FILE
Properties file storing default mappings from criteria to evaluable credential criteria. Will be loaded as a resource stream relative to this class.- See Also:
-
registry
private static Map<Class<? extends Criterion>,Class<? extends EvaluableCredentialCriterion>> registryStorage for the registry mappings. -
initialized
private static boolean initializedFlag to track whether registry is initialized. -
LOG
@Nonnull private static final org.slf4j.Logger LOGLogger.
-
-
Constructor Details
-
EvaluableCredentialCriteriaRegistry
private EvaluableCredentialCriteriaRegistry()Constructor.
-
-
Method Details
-
getEvaluator
@Nullable public static EvaluableCredentialCriterion getEvaluator(@Nonnull Criterion criteria) throws SecurityException Get an instance ofEvaluableCredentialCriterion
which can evaluate the supplied criteria's requirements against a Credential target.- Parameters:
criteria
- the criteria to be evaluated against a credential- Returns:
- an instance of of EvaluableCredentialCriterion representing the specified criteria's requirements
- Throws:
SecurityException
- thrown if there is an error reflectively instantiating a new instance of EvaluableCredentialCriterion based on class information stored in the registry
-
lookup
@Nullable public static Class<? extends EvaluableCredentialCriterion> lookup(@Nonnull Class<? extends Criterion> clazz) Lookup the class subtype of EvaluableCredentialCriterion which is registered for the specified Criterion class.- Parameters:
clazz
- the Criterion class subtype to lookup- Returns:
- the registered EvaluableCredentialCriterion class subtype
-
register
public static void register(@Nonnull Class<? extends Criterion> criteriaClass, @Nonnull Class<? extends EvaluableCredentialCriterion> evaluableClass) Register a credential evaluator class for a criteria class.- Parameters:
criteriaClass
- class subtype ofCriterion
evaluableClass
- class subtype ofEvaluableCredentialCriterion
-
deregister
Deregister a criteria-evaluator mapping.- Parameters:
criteriaClass
- class subtype ofCriterion
-
clearRegistry
public static void clearRegistry()Clear all mappings from the registry. -
isInitialized
public static boolean isInitialized()Check whether the registry has been initialized.- Returns:
- true if registry is already initialized, false otherwise
-
init
public static void init()Initialize the registry. -
loadDefaultMappings
public static void loadDefaultMappings()Load the default set of criteria-evaluator mappings from the default mappings properties file. -
loadMappings
Load a set of criteria-evaluator mappings from the supplied properties set.- Parameters:
mappings
- properties set where the key is the criteria class name, the value is the evaluator class name
-