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 StringProperties file storing default mappings from criteria to evaluable credential criteria.private static booleanFlag to track whether registry is initialized.private static final org.slf4j.LoggerLogger.private static Map<Class<? extends Criterion>,Class<? extends EvaluableCredentialCriterion>> Storage for the registry mappings. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidClear all mappings from the registry.static voidderegister(Class<? extends Criterion> criteriaClass) Deregister a criteria-evaluator mapping.static EvaluableCredentialCriteriongetEvaluator(Criterion criteria) Get an instance ofEvaluableCredentialCriterionwhich can evaluate the supplied criteria's requirements against a Credential target.static voidinit()Initialize the registry.static booleanCheck whether the registry has been initialized.static voidLoad the default set of criteria-evaluator mappings from the default mappings properties file.static voidloadMappings(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 voidregister(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
-
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 ofCriterionevaluableClass- 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