RestrictTo.Scope

enum RestrictTo.Scope


Summary

Enum Values

GROUP_ID

This enum value is deprecated.

Use LIBRARY_GROUP_PREFIX instead

LIBRARY

Restrict usage to code within the same library (e.g.

LIBRARY_GROUP

Restrict usage to code within the same group of libraries.

LIBRARY_GROUP_PREFIX

Restrict usage to code within packages whose groups share the same library group prefix up to the last ".", so for example libraries foo.bar:lib1 and foo.baz:lib2 share the prefix "foo." and so they can use each other's apis that are restricted to this scope.

SUBCLASSES

Restrict usage to subclasses of the enclosing class.

TESTS

Restrict usage to tests.

Public methods

static @NonNull RestrictTo.Scope
static @NonNull RestrictTo.Scope[]

Enum Values

GROUP_ID

@NonNull
@NonNull RestrictTo.Scope RestrictTo.Scope.GROUP_ID

Restrict usage to code within the same group ID (based on gradle group ID). This is an alias for LIBRARY_GROUP_PREFIX.

LIBRARY

@NonNull
@NonNull RestrictTo.Scope RestrictTo.Scope.LIBRARY

Restrict usage to code within the same library (e.g. the same gradle group ID and artifact ID).

LIBRARY_GROUP

@NonNull
@NonNull RestrictTo.Scope RestrictTo.Scope.LIBRARY_GROUP

Restrict usage to code within the same group of libraries. This corresponds to the gradle group ID.

LIBRARY_GROUP_PREFIX

@NonNull
@NonNull RestrictTo.Scope RestrictTo.Scope.LIBRARY_GROUP_PREFIX

Restrict usage to code within packages whose groups share the same library group prefix up to the last ".", so for example libraries foo.bar:lib1 and foo.baz:lib2 share the prefix "foo." and so they can use each other's apis that are restricted to this scope. Similarly for com.foo.bar:lib1 and com.foo.baz:lib2 where they share "com.foo.". Library com.bar.qux:lib3 however will not be able to use the restricted api because it only shares the prefix "com." and not all the way until the last ".".

SUBCLASSES

@NonNull
@NonNull RestrictTo.Scope RestrictTo.Scope.SUBCLASSES

Restrict usage to subclasses of the enclosing class.

Note: This scope should not be used to annotate packages.

TESTS

@NonNull
@NonNull RestrictTo.Scope RestrictTo.Scope.TESTS

Restrict usage to tests.

Public methods

valueOf

@NonNull
public static RestrictTo.Scope valueOf(@NonNull String name)

values

@NonNull
public static RestrictTo.Scope[] values()