java.lang.Object
io.helidon.security.abac.time.TimeValidator
- All Implemented Interfaces:
 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 Summary
Nested ClassesModifier and TypeClassDescriptionstatic @interfaceAttribute annotation that can limit the days of week the resource is accessible.static final classConfiguration for time attribute validator.static @interfaceConstraint for a time of day.static @interfaceConstraint for a time of day - container for repeatingTimeValidator.TimeOfDay. - 
Method Summary
Modifier and TypeMethodDescriptionClass of the configuration type.Key of a configuration entry that maps to this validator's configuration.static TimeValidatorcreate()Return a new instance of this validator with default configuration.fromAnnotations(EndpointConfig endpointConfig) Load configuration class instance from annotations this validator expects.fromConfig(Config config) Load configuration class instance fromConfig.Collection<Class<? extends Annotation>>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 Details
- 
create
Return a new instance of this validator with default configuration.- Returns:
 - new time validator
 
 - 
configClass
Description copied from interface:AbacValidatorClass of the configuration type.- Specified by:
 configClassin interfaceAbacValidator<TimeValidator.TimeConfig>- Returns:
 - class of the type
 
 - 
configKey
Description copied from interface:AbacValidatorKey of a configuration entry that maps to this validator's configuration.- Specified by:
 configKeyin interfaceAbacValidator<TimeValidator.TimeConfig>- Returns:
 - key in a config 
Config 
 - 
fromConfig
Description copied from interface:AbacValidatorLoad configuration class instance fromConfig.- Specified by:
 fromConfigin interfaceAbacValidator<TimeValidator.TimeConfig>- Parameters:
 config- configuration located on the key this validator expects inAbacValidator.configKey()- Returns:
 - instance of configuration class
 
 - 
fromAnnotations
Description copied from interface:AbacValidatorLoad configuration class instance from annotations this validator expects.- Specified by:
 fromAnnotationsin interfaceAbacValidator<TimeValidator.TimeConfig>- Parameters:
 endpointConfig- endpoint config- Returns:
 - instance of configuration class
 
 - 
validate
public 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 interfaceAbacValidator<TimeValidator.TimeConfig>- Parameters:
 config- configuration of this validatorcollector- 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
 - 
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 interfaceAbacValidator<TimeValidator.TimeConfig>- Returns:
 - Collection of annotations this provider expects.
 
 
 -