public final class EvaluableCredentialCriteriaRegistry
extends java.lang.Object
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.| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
DEFAULT_MAPPINGS_FILE
Properties file storing default mappings from criteria to evaluable credential criteria.
|
private static boolean |
initialized
Flag to track whether registry is initialized.
|
private static java.util.Map<java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion>,java.lang.Class<? extends EvaluableCredentialCriterion>> |
registry
Storage for the registry mappings.
|
| Modifier | Constructor and Description |
|---|---|
private |
EvaluableCredentialCriteriaRegistry()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
clearRegistry()
Clear all mappings from the registry.
|
static void |
deregister(java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion> criteriaClass)
Deregister a criteria-evaluator mapping.
|
static EvaluableCredentialCriterion |
getEvaluator(net.shibboleth.utilities.java.support.resolver.Criterion criteria)
Get an instance of
EvaluableCredentialCriterion which can evaluate the supplied criteria's
requirements against a Credential target. |
private static org.slf4j.Logger |
getLogger()
Get an SLF4J Logger.
|
static void |
init()
Initialize the registry.
|
static boolean |
isInitialized()
Check whether the registry has been initialized.
|
static void |
loadDefaultMappings()
Load the default set of criteria-evaluator mappings from the default mappings properties file.
|
static void |
loadMappings(java.util.Properties mappings)
Load a set of criteria-evaluator mappings from the supplied properties set.
|
static java.lang.Class<? extends EvaluableCredentialCriterion> |
lookup(java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion> clazz)
Lookup the class subtype of EvaluableCredentialCriterion which is registered for the specified Criterion class.
|
static void |
register(java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion> criteriaClass,
java.lang.Class<? extends EvaluableCredentialCriterion> evaluableClass)
Register a credential evaluator class for a criteria class.
|
public static final java.lang.String DEFAULT_MAPPINGS_FILE
private static java.util.Map<java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion>,java.lang.Class<? extends EvaluableCredentialCriterion>> registry
private static boolean initialized
private EvaluableCredentialCriteriaRegistry()
@Nullable public static EvaluableCredentialCriterion getEvaluator(@Nonnull net.shibboleth.utilities.java.support.resolver.Criterion criteria) throws SecurityException
EvaluableCredentialCriterion which can evaluate the supplied criteria's
requirements against a Credential target.criteria - the criteria to be evaluated against a credentialSecurityException - thrown if there is an error reflectively instantiating a new instance of
EvaluableCredentialCriterion based on class information stored in the registry@Nullable public static java.lang.Class<? extends EvaluableCredentialCriterion> lookup(@Nonnull java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion> clazz)
clazz - the Criterion class subtype to lookuppublic static void register(@Nonnull
java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion> criteriaClass,
@Nonnull
java.lang.Class<? extends EvaluableCredentialCriterion> evaluableClass)
criteriaClass - class subtype of CriterionevaluableClass - class subtype of EvaluableCredentialCriterionpublic static void deregister(@Nonnull
java.lang.Class<? extends net.shibboleth.utilities.java.support.resolver.Criterion> criteriaClass)
criteriaClass - class subtype of Criterionpublic static void clearRegistry()
public static boolean isInitialized()
public static void init()
public static void loadDefaultMappings()
public static void loadMappings(@Nonnull
java.util.Properties mappings)
mappings - properies set where the key is the criteria class name, the value is the evaluator class name@Nonnull private static org.slf4j.Logger getLogger()