Class 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 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 as GET, or get 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
      • 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:
        OutboundTarget.Builder.customObject(Class, Object)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object