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 Detail

      • 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... profiles)
        Create a new Profiles instance that checks for matches against the given profile strings.

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

        A profile string may contain a simple profile name (for example "production") or a profile expression. A profile 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 or profile expression
        • & - A logical AND of the profiles or profile expressions
        • | - A logical OR of the profiles or profile 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 strings.

        Parameters:
        profiles - the profile strings to include
        Returns:
        a new Profiles instance