Annotation Interface PublicAPI


@Internal @Inherited @Documented public @interface PublicAPI
Marks 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.ACCESS defines that this class or member should only be accessed (e.g. calling a method) by users of ArchUnit. PublicAPI.Usage.INHERITANCE defines 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.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     
    static enum 
     
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Marks how this API is supposed to be used.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Marks the state of this API, i.e.