java.lang.Object
io.helidon.common.configurable.AllowList
All Implemented Interfaces:
RuntimeType.Api<AllowListConfig>, Predicate<String>

public class AllowList extends Object implements Predicate<String>, RuntimeType.Api<AllowListConfig>
AllowList defines a list of allowed and/or denied matches and tests if a particular value conforms to the conditions.

The algorithm of testing that a value is allowed:

  1. Iterate through all allowed patterns, if none matches, value is not permitted
  2. Iterate through all denied patterns, if any matches, value is not permitted
  3. Value is permitted
  • Method Details

    • builder

      public static AllowListConfig.Builder builder()
      Create a fluent API builder to configure an instance.
      Returns:
      a new builder
    • create

      public static AllowList create(Config config)
      Create AllowList from configurtion.
      Parameters:
      config - configuration
      Returns:
      a new configured AllowList
    • create

      public static AllowList create(AllowListConfig config)
      Create a new allow list based on its configuration.
      Parameters:
      config - configuration
      Returns:
      a new allow list
    • create

      public static AllowList create(Consumer<AllowListConfig.Builder> consumer)
      Create a new allow list customizing its configuration.
      Parameters:
      consumer - configuration consumer
      Returns:
      a new allow list
    • prototype

      public AllowListConfig prototype()
      Description copied from interface: RuntimeType.Api
      The prototype as it was received when creating this runtime object instance.
      Specified by:
      prototype in interface RuntimeType.Api<AllowListConfig>
      Returns:
      prototype object used to create this instance
    • test

      public boolean test(String value)
      Test whether a value can be permitted.
      Specified by:
      test in interface Predicate<String>
      Parameters:
      value - value to test against
      Returns:
      true if the value is allowed, false if it is not allowed or it is explicitly denied
    • toString

      public String toString()
      Overrides:
      toString in class Object