Module com.github.rvesse.airline
Class RestrictionRegistry
- java.lang.Object
-
- com.github.rvesse.airline.restrictions.factories.RestrictionRegistry
-
public class RestrictionRegistry extends java.lang.ObjectCentral 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_FACTORIESprivate static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,GlobalRestrictionFactory>GLOBAL_RESTRICTION_FACTORIESprivate static booleaninitprivate 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 voidaddArgumentsRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, ArgumentsRestrictionFactory factory)static voidaddGlobalRestriction(java.lang.Class<? extends java.lang.annotation.Annotation> cls, GlobalRestrictionFactory factory)static voidaddOptionRestriction(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 voidinit()Initializes the base set of restrictions using theServiceLoadermechanism(package private) static <T> voidloadRestrictions(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 voidreset()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 theServiceLoadermechanism
-
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)
-
-