- java.lang.Object
- 
- io.helidon.security.abac.time.TimeValidator
 
- 
- All Implemented Interfaces:
- AbacValidator<TimeValidator.TimeConfig>
 
 public final class TimeValidator extends Object implements AbacValidator<TimeValidator.TimeConfig> Attribute validator for time based attribute checks. Currently supports:- between times (of a day - e.g. 8:30 - 17:00
- days of week (e.g. MONDAY, TUESDAY)
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static interfaceTimeValidator.DaysOfWeekAttribute annotation that can limit the days of week the resource is accessible.static classTimeValidator.TimeConfigConfiguration for time attribute validator.static interfaceTimeValidator.TimeOfDayConstraint for a time of day.static interfaceTimeValidator.TimesOfDayConstraint for a time of day - container for repeatingTimeValidator.TimeOfDay.
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<TimeValidator.TimeConfig>configClass()Class of the configuration type.StringconfigKey()Key of a configuration entry that maps to this validator's configuration.static TimeValidatorcreate()Return a new instance of this validator with default configuration.TimeValidator.TimeConfigfromAnnotations(EndpointConfig endpointConfig)Load configuration class instance from annotations this validator expects.TimeValidator.TimeConfigfromConfig(Config config)Load configuration class instance fromConfig.Collection<Class<? extends Annotation>>supportedAnnotations()Provide extension annotations supported by this validator (e.g.voidvalidate(TimeValidator.TimeConfig config, Errors.Collector collector, ProviderRequest request)Validate that the configuration provided would grant access to the resource.
 
- 
- 
- 
Method Detail- 
createpublic static TimeValidator create() Return a new instance of this validator with default configuration.- Returns:
- new time validator
 
 - 
configClasspublic Class<TimeValidator.TimeConfig> configClass() Description copied from interface:AbacValidatorClass of the configuration type.- Specified by:
- configClassin interface- AbacValidator<TimeValidator.TimeConfig>
- Returns:
- class of the type
 
 - 
configKeypublic String configKey() Description copied from interface:AbacValidatorKey of a configuration entry that maps to this validator's configuration.- Specified by:
- configKeyin interface- AbacValidator<TimeValidator.TimeConfig>
- Returns:
- key in a config Config
 
 - 
fromConfigpublic TimeValidator.TimeConfig fromConfig(Config config) Description copied from interface:AbacValidatorLoad configuration class instance fromConfig.- Specified by:
- fromConfigin interface- AbacValidator<TimeValidator.TimeConfig>
- Parameters:
- config- configuration located on the key this validator expects in- AbacValidator.configKey()
- Returns:
- instance of configuration class
 
 - 
fromAnnotationspublic TimeValidator.TimeConfig fromAnnotations(EndpointConfig endpointConfig) Description copied from interface:AbacValidatorLoad configuration class instance from annotations this validator expects.- Specified by:
- fromAnnotationsin interface- AbacValidator<TimeValidator.TimeConfig>
- Parameters:
- endpointConfig- endpoint config
- Returns:
- instance of configuration class
 
 - 
validatepublic void validate(TimeValidator.TimeConfig config, Errors.Collector collector, ProviderRequest request) Description copied from interface:AbacValidatorValidate that the configuration provided would grant access to the resource. Update collector with errors, if access should be denied usingErrors.Collector.fatal(Object, String).- Specified by:
- validatein interface- AbacValidator<TimeValidator.TimeConfig>
- Parameters:
- config- configuration of this validator
- collector- error collector to gather issues with this request (e.g. "service not in role ABC")
- request- ABAC context containing subject(s), object(s) and environment
 
 - 
supportedAnnotationspublic Collection<Class<? extends Annotation>> supportedAnnotations() Description copied from interface:AbacValidatorProvide extension annotations supported by this validator (e.g.RolesAllowed). Annotations will be collected according to framework in use. For JAX-RS, annotations from application class, resource class and resource methods will be collected. The annotations will be transformed to configuration byAbacValidator.fromAnnotations(EndpointConfig).- Specified by:
- supportedAnnotationsin interface- AbacValidator<TimeValidator.TimeConfig>
- Returns:
- Collection of annotations this provider expects.
 
 
- 
 
-