< prev index next >

src/java.compiler/share/classes/javax/lang/model/element/Element.java

Print this page




 179      *
 180      * A {@linkplain ModuleElement#getEnclosedElements module}
 181      * encloses packages within it.
 182      *
 183      * Enclosed elements may include implicitly declared {@linkplain
 184      * Elements.Origin#MANDATED mandated} elements.
 185      *
 186      * Other kinds of elements are not currently considered to enclose
 187      * any elements; however, that may change as this API or the
 188      * programming language evolves.
 189      *
 190      * @apiNote Elements of certain kinds can be isolated using
 191      * methods in {@link ElementFilter}.
 192      *
 193      * @return the enclosed elements, or an empty list if none
 194      * @see TypeElement#getEnclosedElements
 195      * @see PackageElement#getEnclosedElements
 196      * @see ModuleElement#getEnclosedElements
 197      * @see Elements#getAllMembers
 198      * @jls 8.8.9 Default Constructor
 199      * @jls 8.9 Enums
 200      * @revised 9
 201      * @spec JPMS
 202      */
 203     List<? extends Element> getEnclosedElements();
 204 
 205     /**
 206      * Returns {@code true} if the argument represents the same
 207      * element as {@code this}, or {@code false} otherwise.
 208      *
 209      * @apiNote The identity of an element involves implicit state
 210      * not directly accessible from the element's methods, including
 211      * state about the presence of unrelated types.  Element objects
 212      * created by different implementations of these interfaces should
 213      * <i>not</i> be expected to be equal even if &quot;the same&quot;
 214      * element is being modeled; this is analogous to the inequality
 215      * of {@code Class} objects for the same class file loaded through
 216      * different class loaders.
 217      *
 218      * @param obj  the object to be compared with this element
 219      * @return {@code true} if the specified object represents the same




 179      *
 180      * A {@linkplain ModuleElement#getEnclosedElements module}
 181      * encloses packages within it.
 182      *
 183      * Enclosed elements may include implicitly declared {@linkplain
 184      * Elements.Origin#MANDATED mandated} elements.
 185      *
 186      * Other kinds of elements are not currently considered to enclose
 187      * any elements; however, that may change as this API or the
 188      * programming language evolves.
 189      *
 190      * @apiNote Elements of certain kinds can be isolated using
 191      * methods in {@link ElementFilter}.
 192      *
 193      * @return the enclosed elements, or an empty list if none
 194      * @see TypeElement#getEnclosedElements
 195      * @see PackageElement#getEnclosedElements
 196      * @see ModuleElement#getEnclosedElements
 197      * @see Elements#getAllMembers
 198      * @jls 8.8.9 Default Constructor
 199      * @jls 8.9 Enum Types
 200      * @revised 9
 201      * @spec JPMS
 202      */
 203     List<? extends Element> getEnclosedElements();
 204 
 205     /**
 206      * Returns {@code true} if the argument represents the same
 207      * element as {@code this}, or {@code false} otherwise.
 208      *
 209      * @apiNote The identity of an element involves implicit state
 210      * not directly accessible from the element's methods, including
 211      * state about the presence of unrelated types.  Element objects
 212      * created by different implementations of these interfaces should
 213      * <i>not</i> be expected to be equal even if &quot;the same&quot;
 214      * element is being modeled; this is analogous to the inequality
 215      * of {@code Class} objects for the same class file loaded through
 216      * different class loaders.
 217      *
 218      * @param obj  the object to be compared with this element
 219      * @return {@code true} if the specified object represents the same


< prev index next >