src/share/classes/jdk/Exported.java

changeset 2153
b82982ac3ca2
parent 2083
379c04c090cf
child 2525
2eb010b6cb22
equal deleted inserted replaced
2152:9f876bd43f55 2153:b82982ac3ca2
36 * <em>outside</em> of the Java SE namespaces of {@code java.*} and 36 * <em>outside</em> of the Java SE namespaces of {@code java.*} and
37 * {@code javax.*} packages. For example, certain portions of {@code 37 * {@code javax.*} packages. For example, certain portions of {@code
38 * com.sun.*} are official parts of the JDK meant to be generally 38 * com.sun.*} are official parts of the JDK meant to be generally
39 * usable while other portions of {@code com.sun.*} are not. This 39 * usable while other portions of {@code com.sun.*} are not. This
40 * annotation type allows those portions to be easily and 40 * annotation type allows those portions to be easily and
41 * programmaticly distinguished. 41 * programmatically distinguished.
42 *
43 * <p>If in one release a type or package is
44 * <code>@Exported(true)</code>, in a subsequent major release such a
45 * type or package can transition to <code>@Exported(false)</code>.
46 *
47 * <p>If a type or package is <code>@Exported(false)</code> in a
48 * release, it may be removed in a subsequent major release.
49 *
50 * <p>If a top-level type has an <code>@Exported</code> annotation,
51 * any nested member types with the top-level type should have an
52 * <code>@Exported</code> annotation with the same value.
53 *
54 * (In exceptional cases, if a nested type is going to be removed
55 * before its enclosing type, the nested type's could be
56 * <code>@Exported(false)</code> while its enclosing type was
57 * <code>@Exported(true)</code>.)
58 *
59 * Likewise, if a package has an <code>@Exported</code> annotation,
60 * top-level types within that package should also have an
61 * <code>@Exported</code> annotation.
62 *
63 * Sometimes a top-level type may have a different
64 * <code>@Exported</code> value than its package.
42 * 65 *
43 * @since 1.8 66 * @since 1.8
44 */ 67 */
45 @Documented 68 @Documented
46 @Retention(RetentionPolicy.RUNTIME) 69 @Retention(RetentionPolicy.RUNTIME)

mercurial