|
52 | 52 | import com.tngtech.archunit.core.domain.properties.HasAnnotations; |
53 | 53 | import com.tngtech.archunit.core.domain.properties.HasModifiers; |
54 | 54 | import com.tngtech.archunit.core.domain.properties.HasName; |
55 | | -import com.tngtech.archunit.core.domain.properties.HasSourceCodeLocation; |
56 | 55 | import com.tngtech.archunit.core.domain.properties.HasOwner.Functions.Get; |
57 | 56 | import com.tngtech.archunit.core.domain.properties.HasOwner.Predicates.With; |
| 57 | +import com.tngtech.archunit.core.domain.properties.HasSourceCodeLocation; |
58 | 58 | import com.tngtech.archunit.core.domain.properties.HasThrowsClause; |
59 | 59 | import com.tngtech.archunit.lang.ArchCondition; |
60 | 60 | import com.tngtech.archunit.lang.ConditionEvents; |
|
90 | 90 | import static com.tngtech.archunit.core.domain.JavaConstructor.CONSTRUCTOR_NAME; |
91 | 91 | import static com.tngtech.archunit.core.domain.JavaMember.Predicates.declaredIn; |
92 | 92 | import static com.tngtech.archunit.core.domain.JavaModifier.FINAL; |
| 93 | +import static com.tngtech.archunit.core.domain.JavaModifier.STATIC; |
93 | 94 | import static com.tngtech.archunit.core.domain.properties.CanBeAnnotated.Predicates.annotatedWith; |
94 | 95 | import static com.tngtech.archunit.core.domain.properties.CanBeAnnotated.Predicates.metaAnnotatedWith; |
95 | 96 | import static com.tngtech.archunit.core.domain.properties.HasModifiers.Predicates.modifier; |
@@ -522,22 +523,22 @@ public static <HAS_NAME extends HasName & HasDescription & HasSourceCodeLocation |
522 | 523 |
|
523 | 524 | @PublicAPI(usage = ACCESS) |
524 | 525 | public static ArchCondition<JavaClass> resideInAPackage(final String packageIdentifier) { |
525 | | - return new DoesConditionByPredicate(JavaClass.Predicates.resideInAPackage(packageIdentifier)); |
| 526 | + return new DoesConditionByPredicate<>(JavaClass.Predicates.resideInAPackage(packageIdentifier)); |
526 | 527 | } |
527 | 528 |
|
528 | 529 | @PublicAPI(usage = ACCESS) |
529 | 530 | public static ArchCondition<JavaClass> resideInAnyPackage(String... packageIdentifiers) { |
530 | | - return new DoesConditionByPredicate(JavaClass.Predicates.resideInAnyPackage(packageIdentifiers)); |
| 531 | + return new DoesConditionByPredicate<>(JavaClass.Predicates.resideInAnyPackage(packageIdentifiers)); |
531 | 532 | } |
532 | 533 |
|
533 | 534 | @PublicAPI(usage = ACCESS) |
534 | 535 | public static ArchCondition<JavaClass> resideOutsideOfPackage(String packageIdentifier) { |
535 | | - return new DoesConditionByPredicate(JavaClass.Predicates.resideOutsideOfPackage(packageIdentifier)); |
| 536 | + return new DoesConditionByPredicate<>(JavaClass.Predicates.resideOutsideOfPackage(packageIdentifier)); |
536 | 537 | } |
537 | 538 |
|
538 | 539 | @PublicAPI(usage = ACCESS) |
539 | 540 | public static ArchCondition<JavaClass> resideOutsideOfPackages(String... packageIdentifiers) { |
540 | | - return new DoesConditionByPredicate(JavaClass.Predicates.resideOutsideOfPackages(packageIdentifiers)); |
| 541 | + return new DoesConditionByPredicate<>(JavaClass.Predicates.resideOutsideOfPackages(packageIdentifiers)); |
541 | 542 | } |
542 | 543 |
|
543 | 544 | @PublicAPI(usage = ACCESS) |
@@ -595,6 +596,26 @@ public static <HAS_MODIFIERS extends HasModifiers & HasDescription & HasSourceCo |
595 | 596 | return not(ArchConditions.<HAS_MODIFIERS>haveModifier(JavaModifier.PRIVATE)).as("not be private"); |
596 | 597 | } |
597 | 598 |
|
| 599 | + @PublicAPI(usage = ACCESS) |
| 600 | + public static <HAS_MODIFIERS extends HasModifiers & HasDescription & HasSourceCodeLocation> ArchCondition<HAS_MODIFIERS> beStatic() { |
| 601 | + return ArchConditions.<HAS_MODIFIERS>haveModifier(STATIC).as("be static"); |
| 602 | + } |
| 603 | + |
| 604 | + @PublicAPI(usage = ACCESS) |
| 605 | + public static <HAS_MODIFIERS extends HasModifiers & HasDescription & HasSourceCodeLocation> ArchCondition<HAS_MODIFIERS> notBeStatic() { |
| 606 | + return not(ArchConditions.<HAS_MODIFIERS>haveModifier(STATIC).as("be static")); |
| 607 | + } |
| 608 | + |
| 609 | + @PublicAPI(usage = ACCESS) |
| 610 | + public static <HAS_MODIFIERS extends HasModifiers & HasDescription & HasSourceCodeLocation> ArchCondition<HAS_MODIFIERS> beFinal() { |
| 611 | + return ArchConditions.<HAS_MODIFIERS>haveModifier(FINAL).as("be final"); |
| 612 | + } |
| 613 | + |
| 614 | + @PublicAPI(usage = ACCESS) |
| 615 | + public static <HAS_MODIFIERS extends HasModifiers & HasDescription & HasSourceCodeLocation> ArchCondition<HAS_MODIFIERS> notBeFinal() { |
| 616 | + return not(ArchConditions.<HAS_MODIFIERS>haveModifier(FINAL).as("be final")); |
| 617 | + } |
| 618 | + |
598 | 619 | @PublicAPI(usage = ACCESS) |
599 | 620 | public static ArchCondition<JavaClass> haveOnlyFinalFields() { |
600 | 621 | return new HaveOnlyFinalFieldsCondition(); |
|
0 commit comments