Skip to content

Latest commit

 

History

History
20 lines (16 loc) · 983 Bytes

File metadata and controls

20 lines (16 loc) · 983 Bytes

Build Status License

japi.io

japi.io is a library to allow java api developers to declare usage intentions of different portions of their applications. Typically, access levels handle this role, but they don't always suffice. Typical examples are:

  • when hooking into another API, something may have to be public, but you don't intend for anything except that specific tool to use it (annotation processors)
  • utilities in a library that can be used across multiple packages but should not be consumed externally
  • interfaces that should not be implemented by consumers, but indicate types that will be provided by the framework

Inspiration and initial annotation names derived heavily from the kiji project's annotations: https://github.com/kijiproject/annotations