This annotation marks classes, interfaces and other elements that should not be used
by clients. To be more specific:
- A class marked with
FrameworkOnly
should not be instantiated or subclassed by a client
- An interface marked with
FrameworkOnly
should not be implemented by a client
- A method marked with
FrameworkOnly
should not be invoked by a client
- It is perfectly legitimate to use a subclass of a marked class/interface, the
FrameworkOnly
attribute is not inherited
- It is also perfectly legitimate to call methods of a class/interface that is marked as
FrameworkOnly
This annotation is only a hint: there may very well exist situations were a client needs to create or implement a
FrameworkOnly
element.