Interface GivenConjunction<OBJECTS>
-
- All Known Subinterfaces:
GivenClassesConjunction,GivenCodeUnitsConjunction<CODE_UNIT>,GivenConstructorsConjunction,GivenFieldsConjunction,GivenMembersConjunction<MEMBER>,GivenMethodsConjunction,GivenSlicesConjunction
public interface GivenConjunction<OBJECTS>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description GivenConjunction<OBJECTS>and(DescribedPredicate<? super OBJECTS> predicate)Combines the current predicate (e.g.GivenConjunction<OBJECTS>or(DescribedPredicate<? super OBJECTS> predicate)Combines the current predicate (e.g.ArchRuleshould(ArchCondition<? super OBJECTS> condition)
-
-
-
Method Detail
-
should
@PublicAPI(usage=ACCESS) ArchRule should(ArchCondition<? super OBJECTS> condition)
-
and
@PublicAPI(usage=ACCESS) GivenConjunction<OBJECTS> and(DescribedPredicate<? super OBJECTS> predicate)
Combines the current predicate (e.g.simpleName== 'SomeClass') with another predicate (e.g.resideInAPackage'foo.bar') using AND (i.e. both predicates must be satisfied).
NOTE:
and(DescribedPredicate)andor(DescribedPredicate)combine predicates in the sequence they are declared, without any "operator precedence". I.e.
all(objects()).that(predicateA).or(predicateB).and(predicateC)...will filter on predicate
(predicateA || predicateB) && predicateC, and
all(objects()).that(predicateA).and(predicateB).or(predicateC)...will filter on predicate
(predicateA && predicateB) || predicateC. If you need more control over the precedence, how predicates are joined, you have to join these predicates separately, i.e.
all(objects()).that(predicateA.or(predicateB.and(predicateC)))...- Parameters:
predicate- The predicate to be ANDed on the current object filter predicate- Returns:
- A syntax conjunction element, which can be completed to form a full rule
-
or
@PublicAPI(usage=ACCESS) GivenConjunction<OBJECTS> or(DescribedPredicate<? super OBJECTS> predicate)
Combines the current predicate (e.g.simpleName== 'SomeClass') with another predicate (e.g.resideInAPackage'foo.bar') using OR (i.e. at least one of the predicates must be satisfied).
NOTE: For considerations about precedence, when joining predicates, consider note at
and(DescribedPredicate)- Parameters:
predicate- The predicate to be ORed on the current object filter predicate- Returns:
- A syntax conjunction element, which can be completed to form a full rule
-
-