RestrictTo

@Target([AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS, AnnotationTarget.FILE, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FIELD]) class RestrictTo
androidx.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):

<code>
    @RestrictTo(GROUP_ID)
    public void resetPaddingToInitialValues() { ...
  </code>
Example of restricting usage to tests:
<code>
    @RestrictScope(TESTS)
    public abstract int getUserId();
  </code>
Example of restricting usage to subclasses:
<code>
    @RestrictScope(SUBCLASSES)
    public void onDrawForeground(Canvas canvas) { ...
  </code>

Summary

Nested classes

Public constructors

<init>(vararg value: RestrictTo.Scope)

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

Properties

Array<RestrictTo.Scope>

The scope to which usage should be restricted.

Public constructors

<init>

RestrictTo(vararg value: RestrictTo.Scope)

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):

<code>
    @RestrictTo(GROUP_ID)
    public void resetPaddingToInitialValues() { ...
  </code>
Example of restricting usage to tests:
<code>
    @RestrictScope(TESTS)
    public abstract int getUserId();
  </code>
Example of restricting usage to subclasses:
<code>
    @RestrictScope(SUBCLASSES)
    public void onDrawForeground(Canvas canvas) { ...
  </code>

Properties

value

val value: Array<RestrictTo.Scope>

The scope to which usage should be restricted.