Package org.apache.yetus.audience
Class InterfaceAudience
- java.lang.Object
-
- org.apache.yetus.audience.InterfaceAudience
-
@Public @Evolving public class InterfaceAudience extends Object
Annotation to inform users of a package, class or method's intended audience. Currently the audience can beInterfaceAudience.Public
,InterfaceAudience.LimitedPrivate
orInterfaceAudience.Private
.
All public classes must have InterfaceAudience annotation.
- Public classes that are not marked with this annotation must be
considered by default as
InterfaceAudience.Private
. - External applications must only use classes that are marked
InterfaceAudience.Public
. Avoid using non public classes as these classes could be removed or change in incompatible ways. - Some projects may choose to give special consideration to related
projects. Such consideration can be done by using the
InterfaceAudience.LimitedPrivate
annotation with a named set of projects. - Methods may have a different annotation that it is more restrictive
compared to the audience classification of the class. Example: A class
might be
InterfaceAudience.Public
, but a method may beInterfaceAudience.LimitedPrivate
- Public classes that are not marked with this annotation must be
considered by default as
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
org.apache.yetus.audience.InterfaceAudience.LimitedPrivate
Intended only for the project(s) specified in the annotation.static interface
org.apache.yetus.audience.InterfaceAudience.Private
Intended for use only within a given project.static interface
org.apache.yetus.audience.InterfaceAudience.Public
Intended for use by any project or application.
-