@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-2017 ForgeRock AS. All Rights Reserved.