Interface MemberCachePolicy

    • Method Detail

      • cacheMember

        boolean cacheMember​(@Nonnull
                            Member member)
        Idempotent (ideally pure) function which decided whether to cache the provided member or not.
        The function should avoid throwing any exceptions or blocking.
        Parameters:
        member - The member
        Returns:
        True, if the member should be cached
      • or

        @Nonnull
        default MemberCachePolicy or​(@Nonnull
                                     MemberCachePolicy policy)
        Convenience method to concatenate another policy.
        This is identical to (member) -> policy1.cacheMember(member) || policy2.cacheMember(member).
        Parameters:
        policy - The policy to concat
        Returns:
        New policy which combines both using a logical OR
        Throws:
        IllegalArgumentException - If the provided policy is null
      • and

        @Nonnull
        default MemberCachePolicy and​(@Nonnull
                                      MemberCachePolicy policy)
        Convenience method to require another policy.
        This is identical to (member) -> policy1.cacheMember(member) && policy2.cacheMember(member).
        Parameters:
        policy - The policy to require in addition to this one
        Returns:
        New policy which combines both using a logical AND
        Throws:
        IllegalArgumentException - If the provided policy is null
      • any

        @Nonnull
        static MemberCachePolicy any​(@Nonnull
                                     MemberCachePolicy policy,
                                     @Nonnull
                                     MemberCachePolicy... policies)
        Composes a policy by concatenating multiple other policies.
        This is logically identical to policy1 || policy2 || policy3 || ... || policyN.
        Parameters:
        policy - The first policy
        policies - The other policies
        Returns:
        New policy which combines all provided polices using a logical OR
      • all

        @Nonnull
        static MemberCachePolicy all​(@Nonnull
                                     MemberCachePolicy policy,
                                     @Nonnull
                                     MemberCachePolicy... policies)
        Composes a policy which requires multiple other policies.
        This is logically identical to policy1 && policy2 && policy3 && ... && policyN.
        Parameters:
        policy - The first policy
        policies - The other policies
        Returns:
        New policy which combines all provided polices using a logical AND