Source code: javax/ide/model/java/declaration/ClassD.java
1 /*
2 * @(#)ClassD.java
3 */
4
5 package javax.ide.model.java.declaration;
6
7 /**
8 * Mirrors a primitive, array, class, interface, enum, or annotation
9 * type. <p/>
10 *
11 * @author Andy Yu
12 */
13 public interface ClassD
14 extends TypeD, MemberD, GenericD, HasNameD, HasAnnotationsD
15 {
16 // ----------------------------------------------------------------------
17
18 /**
19 * Gets the owning package.
20 *
21 * @return The owning package declaration. Null if this is a primitive or
22 * an array type.
23 */
24 public PackageD getPackage();
25
26 /**
27 * Gets the qualified name of the owning package. Provided for
28 * convenience.
29 *
30 * @return The qualified name of the owning package. Empty if none.
31 */
32 public String getPackageName();
33
34 /**
35 * True if this is modified with "abstract".
36 *
37 * @return True if this is modified with "abstract".
38 */
39 public boolean isAbstract();
40
41
42 // ----------------------------------------------------------------------
43
44 /**
45 * True if this is a local inner class.
46 *
47 * @return True if this is a local inner class.
48 */
49 public boolean isLocalClass();
50
51 /**
52 * True if this is an anonymous inner class.
53 *
54 * @return True if this is an anonymous inner class.
55 */
56 public boolean isAnonymousClass();
57
58 /**
59 * True if this is a member inner class.
60 *
61 * @return True if this is a member inner class.
62 */
63 public boolean isMemberClass();
64
65
66 // ----------------------------------------------------------------------
67
68 /**
69 * Gets the enclosing method.
70 *
71 * @return The method or constructor declaration for the enclosing method
72 * as defined by JVMS3.
73 */
74 public ExecutableD getEnclosingMethod();
75
76 /**
77 * Gets the hidden <code>clinit</code> method, null if none.
78 *
79 * @return The method declaration for the <code>clinit</code> method,
80 * null if none.
81 */
82 public MethodD getClinitMethod();
83 }