- java.lang.Object
- 
- io.helidon.security.EndpointConfig
 
- 
- All Implemented Interfaces:
- AbacSupport
 
 public class EndpointConfig extends Object implements AbacSupport Each endpoint can have security configuration either statically declared (e.g. annotations) or dynamically provided through manual security request. This class covers all kinds of configurations supported:- Annotations as gathered by the integration component (e.g. from Jersey resource class and method)
- Configuration as read from a configuration resource (e.g. when integrating web server)
- Attributes (key/value) configured by a programmer
- Custom objects configured by a programmer
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classEndpointConfig.AnnotationScopeScope of annotations used in applications that integrate security.static classEndpointConfig.BuilderA fluent API builder forEndpointConfig.- 
Nested classes/interfaces inherited from interface io.helidon.security.util.AbacSupportAbacSupport.BasicAttributes
 
- 
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<String>abacAttributeNames()A collection of all property names in this container.ObjectabacAttributeRaw(String key)Return the actual property value or null if not present.static EndpointConfig.Builderbuilder()Creates a fluent API builder to build new instances of this class.Optional<Config>config(String configKey)GetConfiginstance for a config key.static EndpointConfigcreate()Create an instance of endpoint config with default values (e.g.EndpointConfig.Builderderive()Derive a new endpoint configuration builder based on this instance.<U> Optional<U>instance(Class<U> clazz)Get an instance of a custom object configuring this endpoint.Collection<Class<?>>instanceKeys()Get all classes of custom endpoint configuration object registered.List<SecurityLevel>securityLevels()Get all security levels endpoint configuration object registered.- 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface io.helidon.security.util.AbacSupportabacAttribute
 
- 
 
- 
- 
- 
Method Detail- 
builderpublic static EndpointConfig.Builder builder() Creates a fluent API builder to build new instances of this class.- Returns:
- a builder instance
 
 - 
createpublic static EndpointConfig create() Create an instance of endpoint config with default values (e.g. all empty).- Returns:
- endpoint config instance
 
 - 
abacAttributeRawpublic Object abacAttributeRaw(String key) Description copied from interface:AbacSupportReturn the actual property value or null if not present. This is the only method that needs to be implemented.- Specified by:
- abacAttributeRawin interface- AbacSupport
- Parameters:
- key- key (name) of the property
- Returns:
- value of the property or null
 
 - 
abacAttributeNamespublic Collection<String> abacAttributeNames() Description copied from interface:AbacSupportA collection of all property names in this container.- Specified by:
- abacAttributeNamesin interface- AbacSupport
- Returns:
- collection of keys
 
 - 
instancepublic <U> Optional<U> instance(Class<U> clazz) Get an instance of a custom object configuring this endpoint.- Type Parameters:
- U- type of the configuration
- Parameters:
- clazz- class the instance is bound under (only explicit binding is supported)
- Returns:
- instance of the custom object if present
 
 - 
instanceKeyspublic Collection<Class<?>> instanceKeys() Get all classes of custom endpoint configuration object registered.- Returns:
- classes that are keys in the custom object store
 
 - 
configpublic Optional<Config> config(String configKey) GetConfiginstance for a config key.- Parameters:
- configKey- key of configuration expected
- Returns:
- Config instance if present in this endpoint configuration
 
 - 
securityLevelspublic List<SecurityLevel> securityLevels() Get all security levels endpoint configuration object registered. The first level representsEndpointConfig.AnnotationScope.APPLICATIONlevel annotations. Other levels are representations of each resource and method used on path to get to the target method.- Returns:
- all registered security levels
 
 - 
derivepublic EndpointConfig.Builder derive() Derive a new endpoint configuration builder based on this instance.- Returns:
- builder to build a modified copy of this endpoint config
 
 
- 
 
-