Class OutboundTarget.Builder
- java.lang.Object
-
- io.helidon.security.providers.common.OutboundTarget.Builder
-
- All Implemented Interfaces:
Builder<OutboundTarget>
,Supplier<OutboundTarget>
- Enclosing class:
- OutboundTarget
public static final class OutboundTarget.Builder extends Object implements Builder<OutboundTarget>
Fluent API builder forOutboundTarget
.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OutboundTarget.Builder
addHost(String host)
Add supported host for this target.OutboundTarget.Builder
addMethod(String method)
Add supported method for this target.OutboundTarget.Builder
addPath(String path)
Add supported paths for this target.OutboundTarget.Builder
addTransport(String transport)
Add supported transports for this target.OutboundTarget
build()
Build aOutboundTarget
instance from this builder.OutboundTarget.Builder
config(Config config)
Set config for this target.<U,V extends U>
OutboundTarget.BuildercustomObject(Class<U> objectClass, V anObject)
Set or replace a custom object.OutboundTarget.Builder
name(String name)
Configure the name of this outbound target.
-
-
-
Method Detail
-
name
public OutboundTarget.Builder name(String name)
Configure the name of this outbound target.- Parameters:
name
- name of the target, cannot be null- Returns:
- updated builder
-
config
public OutboundTarget.Builder config(Config config)
Set config for this target. This may be useful if each target requires different provider configuration.- Parameters:
config
- Config object to configure the provider- Returns:
- update builder instance
-
addHost
public OutboundTarget.Builder addHost(String host)
Add supported host for this target. May be called more than once to add more hosts.Valid examples:
- localhost
- www.google.com
- 127.0.0.1
- *.oracle.com
- 192.169.*.*
- *.google.*
- Parameters:
host
- name or IP of host, with possible "*" asterisk character to match any sequence- Returns:
- updated builder instance
-
addTransport
public OutboundTarget.Builder addTransport(String transport)
Add supported transports for this target. May be called more than once to add more transports.Valid examples:
- http
- https
- Parameters:
transport
- that is supported- Returns:
- updated builder instance
-
addPath
public OutboundTarget.Builder addPath(String path)
Add supported paths for this target. May be called more than once to add more paths. The path is tested as is against called path, and also tested as a regular expression.- Parameters:
path
- supported path (regular expression supported)- Returns:
- updated builder instance
-
addMethod
public OutboundTarget.Builder addMethod(String method)
Add supported method for this target. May be called more than once to add more methods. The method is tested as is ignoring case against the used method.- Parameters:
method
- supported method (exact match ignoring case)- Returns:
- updated builder instance
-
customObject
public <U,V extends U> OutboundTarget.Builder customObject(Class<U> objectClass, V anObject)
Set or replace a custom object. This object will be provided to security provider. Objects are stored by class, so we can have multiple objects of different classes (e.g. when using multiple outbound providers). Class of object is defined by security provider.- Type Parameters:
U
- Class of the custom object to be stored. The object instance is available ONLY under this classV
- Implementation of the class- Parameters:
objectClass
- Class of object as expected by security provideranObject
- Custom object to be used by outbound security provider- Returns:
- updated Builder instance
-
build
public OutboundTarget build()
Build aOutboundTarget
instance from this builder.- Specified by:
build
in interfaceBuilder<OutboundTarget>
- Returns:
- instance configured with this builder values
-
-