ASTImportDeclaration.java
01 /* Generated By:JJTree: Do not edit this line. ASTImportDeclaration.java */
02 
03 package net.sourceforge.pmd.lang.java.ast;
04 
05 public class ASTImportDeclaration extends AbstractJavaTypeNode {
06 
07     private boolean isImportOnDemand;
08     private boolean isStatic;
09 
10     public ASTImportDeclaration(int id) {
11         super(id);
12     }
13 
14     public ASTImportDeclaration(JavaParser p, int id) {
15         super(p, id);
16     }
17 
18     public void setImportOnDemand() {
19         isImportOnDemand = true;
20     }
21 
22     public boolean isImportOnDemand() {
23         return isImportOnDemand;
24     }
25 
26     public void setStatic() {
27         isStatic = true;
28     }
29 
30     public boolean isStatic() {
31         return isStatic;
32     }
33 
34     // TODO - this should go away, but the DuplicateImports rule still uses it (in a clunky way)
35     public ASTName getImportedNameNode() {
36         return (ASTNamejjtGetChild(0);
37     }
38 
39     public String getImportedName() {
40         return ((ASTNamejjtGetChild(0)).getImage();
41     }
42 
43     public String getPackageName() {
44         String importName = getImportedName();
45         if (isImportOnDemand) {
46             return importName;
47         }
48         if (importName.indexOf('.'== -1) {
49             return "";
50         }
51         int lastDot = importName.lastIndexOf('.');
52         return importName.substring(0, lastDot);
53     }
54 
55     /**
56      * Accept the visitor. *
57      */
58     public Object jjtAccept(JavaParserVisitor visitor, Object data) {
59         return visitor.visit(this, data);
60     }
61     
62     private Package pkg;
63     public void setPackage(Package packge){
64         this.pkg = packge;
65     }
66     
67     public Package getPackage(){
68         return this.pkg;
69     }
70 }