1 package net.sourceforge.pmd.lang.java.ast;
2
3 public abstract class AbstractJavaAccessNode extends AbstractJavaNode implements AccessNode {
4
5 private int modifiers;
6
7 public AbstractJavaAccessNode(int i) {
8 super(i);
9 }
10
11 public AbstractJavaAccessNode(JavaParser parser, int i) {
12 super(parser, i);
13 }
14
15 public int getModifiers() {
16 return this.modifiers;
17 }
18
19 public void setModifiers(int modifiers) {
20 this.modifiers = modifiers;
21 }
22
23 public boolean isPublic() {
24 return isModifier(PUBLIC);
25 }
26
27 public void setPublic(boolean isPublic) {
28 setModifier(isPublic, PUBLIC);
29 }
30
31 public boolean isProtected() {
32 return isModifier(PROTECTED);
33 }
34
35 public void setProtected(boolean isProtected) {
36 setModifier(isProtected, PROTECTED);
37 }
38
39 public boolean isPrivate() {
40 return isModifier(PRIVATE);
41 }
42
43 public void setPrivate(boolean isPrivate) {
44 setModifier(isPrivate, PRIVATE);
45 }
46
47 public boolean isAbstract() {
48 return isModifier(ABSTRACT);
49 }
50
51 public void setAbstract(boolean isAbstract) {
52 setModifier(isAbstract, ABSTRACT);
53 }
54
55 public boolean isStatic() {
56 return isModifier(STATIC);
57 }
58
59 public void setStatic(boolean isStatic) {
60 setModifier(isStatic, STATIC);
61 }
62
63 public boolean isFinal() {
64 return isModifier(FINAL);
65 }
66
67 public void setFinal(boolean isFinal) {
68 setModifier(isFinal, FINAL);
69 }
70
71 public boolean isSynchronized() {
72 return isModifier(SYNCHRONIZED);
73 }
74
75 public void setSynchronized(boolean isSynchronized) {
76 setModifier(isSynchronized, SYNCHRONIZED);
77 }
78
79 public boolean isNative() {
80 return isModifier(NATIVE);
81 }
82
83 public void setNative(boolean isNative) {
84 setModifier(isNative, NATIVE);
85 }
86
87 public boolean isTransient() {
88 return isModifier(TRANSIENT);
89 }
90
91 public void setTransient(boolean isTransient) {
92 setModifier(isTransient, TRANSIENT);
93 }
94
95 public boolean isVolatile() {
96 return isModifier(VOLATILE);
97 }
98
99 public void setVolatile(boolean isVolative) {
100 setModifier(isVolative, VOLATILE);
101 }
102
103 public boolean isStrictfp() {
104 return isModifier(STRICTFP);
105 }
106
107 public void setStrictfp(boolean isStrictfp) {
108 setModifier(isStrictfp, STRICTFP);
109 }
110
111 @SuppressWarnings("PMD.UselessParentheses")
112 private final boolean isModifier(int mask) {
113 return (modifiers & mask) == mask;
114 }
115
116 private void setModifier(boolean enable, int mask) {
117 if (enable) {
118 this.modifiers |= mask;
119 } else {
120 this.modifiers &= ~mask;
121 }
122 }
123
124 public boolean isPackagePrivate() {
125 return !isPrivate() && !isPublic() && !isProtected();
126 }
127 }