@Documented @Retention(value=RUNTIME) @Target(value={PACKAGE,TYPE,METHOD,CONSTRUCTOR}) public @interface PublicAPI
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. Modifier and Type | Optional Element and Description |
---|---|
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.
|
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 String notes
Copyright 2010-2020 ForgeRock AS.