50 * will return them in the order that is natural for the underlying 51 * source of program information. For example, if the underlying 52 * source of information is Java source code, then the elements will be 53 * returned in source code order. 54 * 55 * @author Joseph D. Darcy 56 * @author Scott Seligman 57 * @author Peter von der Ahé 58 * @see DeclaredType 59 * @since 1.6 60 */ 61 public interface TypeElement extends Element, Parameterizable, QualifiedNameable { 62 /** 63 * Returns the fields, methods, constructors, and member types 64 * that are directly declared in this class or interface. 65 * 66 * This includes any (implicit) default constructor and 67 * the implicit {@code values} and {@code valueOf} methods of an 68 * enum type. 69 * 70 * <p> Note that as a particular instance of the {@linkplain 71 * javax.lang.model.element general accuracy requirements} and the 72 * ordering behavior required of this interface, the list of 73 * enclosed elements will be returned in the natural order for the 74 * originating source of information about the type. For example, 75 * if the information about the type is originating from a source 76 * file, the elements will be returned in source code order. 77 * (However, in that case the the ordering of synthesized 78 * elements, such as a default constructor, is not specified.) 79 * 80 * @return the enclosed elements in proper order, or an empty list if none 81 */ 82 @Override 83 List<? extends Element> getEnclosedElements(); 84 85 /** 86 * Returns the <i>nesting kind</i> of this type element. 87 * 88 * @return the nesting kind of this type element 89 */ 90 NestingKind getNestingKind(); 91 92 /** 93 * Returns the fully qualified name of this type element. 94 * More precisely, it returns the <i>canonical</i> name. 95 * For local and anonymous classes, which do not have canonical names, 96 * an empty name is returned. 97 * | 50 * will return them in the order that is natural for the underlying 51 * source of program information. For example, if the underlying 52 * source of information is Java source code, then the elements will be 53 * returned in source code order. 54 * 55 * @author Joseph D. Darcy 56 * @author Scott Seligman 57 * @author Peter von der Ahé 58 * @see DeclaredType 59 * @since 1.6 60 */ 61 public interface TypeElement extends Element, Parameterizable, QualifiedNameable { 62 /** 63 * Returns the fields, methods, constructors, and member types 64 * that are directly declared in this class or interface. 65 * 66 * This includes any (implicit) default constructor and 67 * the implicit {@code values} and {@code valueOf} methods of an 68 * enum type. 69 * 70 * @apiNote As a particular instance of the {@linkplain 71 * javax.lang.model.element general accuracy requirements} and the 72 * ordering behavior required of this interface, the list of 73 * enclosed elements will be returned in the natural order for the 74 * originating source of information about the type. For example, 75 * if the information about the type is originating from a source 76 * file, the elements will be returned in source code order. 77 * (However, in that case the the ordering of {@linkplain Elements.Origin#MANDATED mandated} 78 * elements, such as a default constructor, is not specified.) 79 * 80 * @return the enclosed elements in proper order, or an empty list if none 81 */ 82 @Override 83 List<? extends Element> getEnclosedElements(); 84 85 /** 86 * Returns the <i>nesting kind</i> of this type element. 87 * 88 * @return the nesting kind of this type element 89 */ 90 NestingKind getNestingKind(); 91 92 /** 93 * Returns the fully qualified name of this type element. 94 * More precisely, it returns the <i>canonical</i> name. 95 * For local and anonymous classes, which do not have canonical names, 96 * an empty name is returned. 97 * |