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.
  • Field Details

    • 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:
    • 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:
    • 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:
    • 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:
    • 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 as GET, or get are both valid methods).
      See Also:
  • Method Details

    • 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
    • hosts

      public Set<String> hosts()
      Hosts of this target.
      Returns:
      hosts 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:
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object