Module com.github.rvesse.airline
Class RestrictionRegistry
- java.lang.Object
-
- com.github.rvesse.airline.restrictions.factories.RestrictionRegistry
-
public class RestrictionRegistry extends java.lang.Object
Central registry for restrictions
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,ArgumentsRestrictionFactory>
ARGUMENT_RESTRICTION_FACTORIES
private static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,GlobalRestrictionFactory>
GLOBAL_RESTRICTION_FACTORIES
private static boolean
init
private static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,OptionRestrictionFactory>
OPTION_RESTRICTION_FACTORIES
-
Constructor Summary
Constructors Constructor Description RestrictionRegistry()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addArgumentsRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, ArgumentsRestrictionFactory factory)
static void
addGlobalRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, GlobalRestrictionFactory factory)
static void
addOptionRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, OptionRestrictionFactory factory)
static <T extends java.lang.annotation.Annotation>
ArgumentsRestrictiongetArgumentsRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, T annotation)
static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>>
getArgumentsRestrictionAnnotationClasses()
static <T extends java.lang.annotation.Annotation>
GlobalRestrictiongetGlobalRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, T annotation)
static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>>
getGlobalRestrictionAnnotationClasses()
static <T extends java.lang.annotation.Annotation>
OptionRestrictiongetOptionRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, T annotation)
static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>>
getOptionRestrictionAnnotationClasses()
(package private) static void
init()
Initializes the base set of restrictions using theServiceLoader
mechanism(package private) static <T> void
loadRestrictions(java.lang.Class<T> cls, java.util.function.Function<T,java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>>> annotationsSelector, java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,T> registry)
static void
reset()
Resets the registry to its default state
-
-
-
Field Detail
-
OPTION_RESTRICTION_FACTORIES
private static final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,OptionRestrictionFactory> OPTION_RESTRICTION_FACTORIES
-
ARGUMENT_RESTRICTION_FACTORIES
private static final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,ArgumentsRestrictionFactory> ARGUMENT_RESTRICTION_FACTORIES
-
GLOBAL_RESTRICTION_FACTORIES
private static final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,GlobalRestrictionFactory> GLOBAL_RESTRICTION_FACTORIES
-
init
private static volatile boolean init
-
-
Method Detail
-
loadRestrictions
static <T> void loadRestrictions(java.lang.Class<T> cls, java.util.function.Function<T,java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>>> annotationsSelector, java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,T> registry)
-
init
static void init()
Initializes the base set of restrictions using theServiceLoader
mechanism
-
reset
public static void reset()
Resets the registry to its default state
-
getOptionRestrictionAnnotationClasses
public static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> getOptionRestrictionAnnotationClasses()
-
addOptionRestriction
public static void addOptionRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, OptionRestrictionFactory factory)
-
getOptionRestriction
public static <T extends java.lang.annotation.Annotation> OptionRestriction getOptionRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, T annotation)
-
addArgumentsRestriction
public static void addArgumentsRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, ArgumentsRestrictionFactory factory)
-
getArgumentsRestrictionAnnotationClasses
public static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> getArgumentsRestrictionAnnotationClasses()
-
getArgumentsRestriction
public static <T extends java.lang.annotation.Annotation> ArgumentsRestriction getArgumentsRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, T annotation)
-
getGlobalRestrictionAnnotationClasses
public static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> getGlobalRestrictionAnnotationClasses()
-
addGlobalRestriction
public static void addGlobalRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, GlobalRestrictionFactory factory)
-
getGlobalRestriction
public static <T extends java.lang.annotation.Annotation> GlobalRestriction getGlobalRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, T annotation)
-
-