Interface Profiles

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface Profiles
Profile predicate that may be accepted by an Environment.

May be implemented directly or, more usually, created using the of(...) factory method.

Since:
5.1
Author:
Phillip Webb, Sam Brannen
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    matches(Predicate<String> isProfileActive)
    Test if this Profiles instance matches against the given predicate.
    static Profiles
    of(String... profileExpressions)
    Create a new Profiles instance that checks for matches against the given profile expressions.
  • Method Details

    • matches

      boolean matches(Predicate<String> isProfileActive)
      Test if this Profiles instance matches against the given predicate.
      Parameters:
      isProfileActive - a predicate that tests whether a given profile is currently active
    • of

      static Profiles of(String... profileExpressions)
      Create a new Profiles instance that checks for matches against the given profile expressions.

      The returned instance will match if any one of the given profile expressions matches.

      A profile expression may contain a simple profile name (for example "production") or a compound expression. A compound expression allows for more complicated profile logic to be expressed, for example "production & cloud".

      The following operators are supported in profile expressions.

      • ! - A logical NOT of the profile name or compound expression
      • & - A logical AND of the profile names or compound expressions
      • | - A logical OR of the profile names or compound expressions

      Please note that the & and | operators may not be mixed without using parentheses. For example, "a & b | c" is not a valid expression: it must be expressed as "(a & b) | c" or "a & (b | c)".

      Two Profiles instances returned by this method are considered equivalent to each other (in terms of equals() and hashCode() semantics) if they are created with identical profile expressions.

      Parameters:
      profileExpressions - the profile expressions to include
      Returns:
      a new Profiles instance