Package com.tngtech.archunit.base
Class PackageMatcher
- java.lang.Object
-
- com.tngtech.archunit.base.PackageMatcher
-
public final class PackageMatcher extends java.lang.ObjectMatches packages with a syntax similar to AspectJ. In particular '*' stands for any sequence of characters, '..' stands for any sequence of packages, including zero packages.
For example'..pack..'matches'a.pack','a.pack.b'or'a.b.pack.c.d', but not'a.packa.b''*.pack.*'matches'a.pack.b', but not'a.b.pack.c''..*pack*..'matches'a.prepackfix.b''*.*.pack*..'matches'a.b.packfix.c.d', but neither'a.packfix.b'nor'a.b.prepack.d'
For example'..service.(*)..'matches'a.service.hello.b'and group 1 would be'hello''..service.(**)'matches'a.service.hello.more'and group 1 would be'hello.more''my.(*)..service.(**)'matches'my.company.some.service.hello.more'and group 1 would be'company', while group 2 would be'hello.more'
PackageMatcher.of(packageIdentifier)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPackageMatcher.Result
-
Field Summary
Fields Modifier and Type Field Description static Function<PackageMatcher.Result,java.util.List<java.lang.String>>TO_GROUPS
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<PackageMatcher.Result>match(java.lang.String aPackage)Returns a matchingResultagainst the provided package name.booleanmatches(java.lang.String aPackage)static PackageMatcherof(java.lang.String packageIdentifier)Creates a newPackageMatcherjava.lang.StringtoString()
-
-
-
Field Detail
-
TO_GROUPS
@PublicAPI(usage=ACCESS) public static final Function<PackageMatcher.Result,java.util.List<java.lang.String>> TO_GROUPS
-
-
Method Detail
-
of
@PublicAPI(usage=ACCESS) public static PackageMatcher of(java.lang.String packageIdentifier)
Creates a newPackageMatcher- Parameters:
packageIdentifier- The package literal to match against (e.g.'some*..pk*'-->'somewhere.in.some.pkg')- Returns:
PackageMatcherto match packages against the supplied literal supporting AspectJ syntax
-
matches
@PublicAPI(usage=ACCESS) public boolean matches(java.lang.String aPackage)
-
match
@PublicAPI(usage=ACCESS) public Optional<PackageMatcher.Result> match(java.lang.String aPackage)
Returns a matchingResultagainst the provided package name. If the package identifier of thisPackageMatcherdoes not match the given package name, thenOptional.absent()is returned.- Parameters:
aPackage- The package name to match against- Returns:
- A
Resultif the package name matches, otherwiseOptional.absent()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-