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
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    matches(Predicate<String> activeProfiles)
    Test if this Profiles instance matches against the given active profiles 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> activeProfiles)
      Test if this Profiles instance matches against the given active profiles predicate.
      Parameters:
      activeProfiles - 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)".

      As of Spring Framework 5.1.17, 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