RestrictTo

@MustBeDocumented  @Retention(value = AnnotationRetention.BINARY)  @Target(allowedTargets = [AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FIELD, AnnotationTarget.FILE])  @Target(value = [ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.PACKAGE]) annotation RestrictTo


Denotes that the annotated element should only be accessed from within a specific scope (as defined by Scope).

Example of restricting usage within a library (based on gradle group ID):

@RestrictTo(GROUP_ID)
public void resetPaddingToInitialValues() { ...

Example of restricting usage to tests:

@RestrictTo(Scope.TESTS)
public abstract int getUserId();

Example of restricting usage to subclasses:

@RestrictTo(Scope.SUBCLASSES)
public void onDrawForeground(Canvas canvas) { ...

Summary

Nested types

RestrictTo.Scope

Public fields

final RestrictTo.Scope[]

The scope to which usage should be restricted.

Public constructors

Public fields

value

public final RestrictTo.Scope[] value

The scope to which usage should be restricted.

Public constructors

RestrictTo

public final RestrictTo(RestrictTo.Scope value)