|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Documented @Retention(value=RUNTIME) @Target(value={PACKAGE,TYPE,METHOD,CONSTRUCTOR}) @PublicAPI(stability=UNCOMMITTED, mayInstantiate=false, mayExtend=false, mayInvoke=false) public @interface PublicAPI
This class defines an annotation type that can be used to describe
the position of a package, class, or method in the OpenDS public
API (including to denote that the associated code should NOT be
considered part of the public API). Third-party developers should
pay attention to these annotations in order to understand how best
to interact with the OpenDS code. For the purposes of this
annotation, a "third-party developer" should be assumed to refer to
anyone who is interacting with the OpenDS code in a manner in which
their work is not expected to become part of the core OpenDS code
base.
This annotation type may be used to describe things like:
mayInvoke=true
but a method in that class is marked with
mayInvoke=false
, then third-party code should not attempt
to invoke that method because the method-level annotation is more
specific (and therefore overrides) the less-specific class-level
annotation.
Optional Element Summary | |
---|---|
boolean |
mayExtend
Indicates whether the associated class/interface/method may be extended/implemented/overridden by third-party code. |
boolean |
mayInstantiate
Indicates whether third-party code should be allowed to directly create new instances of the associated object type by calling the constructor or a static factory method defined in that class. |
boolean |
mayInvoke
Indicates whether the associated method may be invoked by third-party code. |
java.lang.String |
notes
Retrieves a string that may contain additional notes that should be taken into consideration by third-party developers that may be interested in using the associated code. |
StabilityLevel |
stability
Retrieves the stability level for the associated class or method. |
public abstract StabilityLevel stability
public abstract boolean mayInstantiate
true
if third-party code should be allowed to
create new instances of the associated object type, or
false
if not.public abstract boolean mayExtend
true
if the associated class/interface/method
may be extended by third-party code, or false
if
not.public abstract boolean mayInvoke
true
if third-party code should be allowed to
invoke the associated method, or false
if not.public abstract java.lang.String notes
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |