Class OutboundTarget
- java.lang.Object
-
- io.helidon.security.providers.common.OutboundTarget
-
public final class OutboundTarget extends Object
Configuration of outbound target. Outbound target is a set of protocols and hosts that share a configuration of outbound provider. Name is considered to be a unique identification of a target, so it is used for hashCode and equals methods.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OutboundTarget.Builder
Fluent API builder forOutboundTarget
.
-
Field Summary
Fields Modifier and Type Field Description static String
CONFIG_HOSTS
Configuration key for string array of hosts.static String
CONFIG_METHODS
Configuration key for string array of HTTP methods.static String
CONFIG_NAME
Configuration key for name of target.static String
CONFIG_PATHS
Configuration key for string array of paths.static String
CONFIG_TRANSPORTS
Configuration key for string array of supported transports.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static OutboundTarget.Builder
builder(String name)
Builder for a single target.static OutboundTarget
create(Config config)
Create a target from configuration.<T> Optional<? extends T>
customObject(Class<? extends T> clazz)
Allows a programmatic client to send custom security provider specific parameters to the provider.boolean
equals(Object o)
Optional<Config>
getConfig()
Configuration of this target.int
hashCode()
Set<String>
hosts()
Hosts of this target.String
name()
Name of this target.String
toString()
Set<String>
transports()
Transports of this target.
-
-
-
Field Detail
-
CONFIG_NAME
public static final String CONFIG_NAME
Configuration key for name of target. If named "default", it will override possible default values from provider- See Also:
- Constant Field Values
-
CONFIG_TRANSPORTS
public static final String CONFIG_TRANSPORTS
Configuration key for string array of supported transports. If not provided or empty, all transports are supported- See Also:
- Constant Field Values
-
CONFIG_HOSTS
public static final String CONFIG_HOSTS
Configuration key for string array of hosts. If not provided or empty, all hosts are supported. If any host is the string "*" (asterisk), all hosts are supported- See Also:
- Constant Field Values
-
CONFIG_PATHS
public static final String CONFIG_PATHS
Configuration key for string array of paths. If not provided or empty, all paths are supported. If any path is the string "*" (asterisk), all paths are supported.- See Also:
- Constant Field Values
-
CONFIG_METHODS
public static final String CONFIG_METHODS
Configuration key for string array of HTTP methods. If not provided or empty, all methods are supported. The values must contain exact names of HTTP methods that should propagate, case insensitive (such asGET
, orget
are both valid methods).- See Also:
- Constant Field Values
-
-
Method Detail
-
create
public static OutboundTarget create(Config config)
Create a target from configuration.- Parameters:
config
- configuration on the node of a single outbound target- Returns:
- a new target from config, requires at least "name"
-
builder
public static OutboundTarget.Builder builder(String name)
Builder for a single target.- Parameters:
name
- name of the target (if set to "default", all defaults from provider will be ignored)- Returns:
- Builder instance
-
name
public String name()
Name of this target.- Returns:
- name
-
transports
public Set<String> transports()
Transports of this target.- Returns:
- transports this target is valid for
-
getConfig
public Optional<Config> getConfig()
Configuration of this target.- Returns:
- target configuration or empty if none provided
-
customObject
public <T> Optional<? extends T> customObject(Class<? extends T> clazz)
Allows a programmatic client to send custom security provider specific parameters to the provider. Definition of such properties must be documented on the provider. The Security is not aware of such properties.- Type Parameters:
T
- Type of the provider specific object- Parameters:
clazz
- Class we want to get- Returns:
- class to value mapping
- See Also:
OutboundTarget.Builder.customObject(Class, Object)
-
-