Annotation Type PublicAPI
@Internal @Inherited @Documented public @interface PublicAPIMarks classes and members that are part of ArchUnit's public API. I.e. users of ArchUnit should ONLY use those classes and members.
Furthermore the specified
usage()defines the way, this public API should be used.
PublicAPI.Usage.ACCESSdefines that this class or member should only be accessed (e.g. calling a method) by users of ArchUnit.
PublicAPI.Usage.INHERITANCEdefines that this class / interface may be extended / implemented by users of ArchUnit. Note that this naturally includes permission to access any accessible members of this class / interface.
Any usage of ArchUnit's classes outside of this contract, is not supported and may break with any (even minor) release.