-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathInternal.java
More file actions
40 lines (38 loc) · 1.33 KB
/
Copy pathInternal.java
File metadata and controls
40 lines (38 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.demcha.compose.document.api;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Marks an API element as internal to GraphCompose.
*
* <p>Types, methods, fields, constructors, and packages annotated with
* {@code @Internal} are implementation details and
* <strong>may change in any release without notice</strong>.
* They are technically reachable because Java visibility cannot fully
* encapsulate cross-package collaborators in a non-modular library, but
* they are not part of the public API contract and library users should
* not depend on them.</p>
*
* <p>If your use case requires importing an {@code @Internal}-marked
* element, please open an issue at
* <a href="https://github.com/DemchaAV/GraphCompose/issues">the
* GraphCompose tracker</a> so a stable extension point can be considered.</p>
*
* <p>Architecture guard tests may consume this annotation reflectively;
* the runtime retention is intentional.</p>
*
* @since 1.6.0
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({
ElementType.TYPE,
ElementType.METHOD,
ElementType.FIELD,
ElementType.CONSTRUCTOR,
ElementType.PACKAGE,
})
public @interface Internal {
}