001: package net.sourceforge.pmd.ast;
002:
003: public class SimpleJavaAccessNode extends SimpleJavaNode implements
004: AccessNodeInterface {
005:
006: private int modifiers;
007:
008: public SimpleJavaAccessNode(int i) {
009: super (i);
010: }
011:
012: public SimpleJavaAccessNode(JavaParser parser, int i) {
013: super (parser, i);
014: }
015:
016: public int getModifiers() {
017: return this .modifiers;
018: }
019:
020: public void setModifiers(int modifiers) {
021: this .modifiers = modifiers;
022: }
023:
024: public boolean isPublic() {
025: return isModifier(PUBLIC);
026: }
027:
028: public void setPublic() {
029: setPublic(true);
030: }
031:
032: public void setPublic(boolean isPublic) {
033: setModifier(isPublic, PUBLIC);
034: }
035:
036: public boolean isProtected() {
037: return isModifier(PROTECTED);
038: }
039:
040: public void setProtected() {
041: setProtected(true);
042: }
043:
044: public void setProtected(boolean isProtected) {
045: setModifier(isProtected, PROTECTED);
046: }
047:
048: public boolean isPrivate() {
049: return isModifier(PRIVATE);
050: }
051:
052: public void setPrivate() {
053: setPrivate(true);
054: }
055:
056: public void setPrivate(boolean isPrivate) {
057: setModifier(isPrivate, PRIVATE);
058: }
059:
060: public boolean isAbstract() {
061: return isModifier(ABSTRACT);
062: }
063:
064: public void setAbstract() {
065: setAbstract(true);
066: }
067:
068: public void setAbstract(boolean isAbstract) {
069: setModifier(isAbstract, ABSTRACT);
070: }
071:
072: public boolean isStatic() {
073: return isModifier(STATIC);
074: }
075:
076: public void setStatic() {
077: setStatic(true);
078: }
079:
080: public void setStatic(boolean isStatic) {
081: setModifier(isStatic, STATIC);
082: }
083:
084: public boolean isFinal() {
085: return isModifier(FINAL);
086: }
087:
088: public void setFinal() {
089: setFinal(true);
090: }
091:
092: public void setFinal(boolean isFinal) {
093: setModifier(isFinal, FINAL);
094: }
095:
096: public boolean isSynchronized() {
097: return isModifier(SYNCHRONIZED);
098: }
099:
100: public void setSynchronized() {
101: setSynchronized(true);
102: }
103:
104: public void setSynchronized(boolean isSynchronized) {
105: setModifier(isSynchronized, SYNCHRONIZED);
106: }
107:
108: public boolean isNative() {
109: return isModifier(NATIVE);
110: }
111:
112: public void setNative() {
113: setNative(true);
114: }
115:
116: public void setNative(boolean isNative) {
117: setModifier(isNative, NATIVE);
118: }
119:
120: public boolean isTransient() {
121: return isModifier(TRANSIENT);
122: }
123:
124: public void setTransient() {
125: setTransient(true);
126: }
127:
128: public void setTransient(boolean isTransient) {
129: setModifier(isTransient, TRANSIENT);
130: }
131:
132: public boolean isVolatile() {
133: return isModifier(VOLATILE);
134: }
135:
136: public void setVolatile() {
137: setVolatile(true);
138: }
139:
140: public void setVolatile(boolean isVolative) {
141: setModifier(isVolative, VOLATILE);
142: }
143:
144: public boolean isStrictfp() {
145: return isModifier(STRICTFP);
146: }
147:
148: public void setStrictfp() {
149: setStrictfp(true);
150: }
151:
152: public void setStrictfp(boolean isStrictfp) {
153: setModifier(isStrictfp, STRICTFP);
154: }
155:
156: private final boolean isModifier(int mask) {
157: return (modifiers & mask) == mask;
158: }
159:
160: private void setModifier(boolean enable, int mask) {
161: if (enable) {
162: this .modifiers |= mask;
163: } else {
164: this .modifiers &= ~mask;
165: }
166: }
167:
168: public boolean isPackagePrivate() {
169: return !isPrivate() && !isPublic() && !isProtected();
170: }
171:
172: public String collectDumpedModifiers(String prefix) {
173: String out = toString(prefix) + ":";
174: if (isPackagePrivate()) {
175: out += "(package private)";
176: }
177: if (isPrivate()) {
178: out += "(private)";
179: }
180: if (isPublic()) {
181: out += "(public)";
182: }
183: if (isProtected()) {
184: out += "(protected)";
185: }
186: if (isAbstract()) {
187: out += "(abstract)";
188: }
189: if (isStatic()) {
190: out += "(static)";
191: }
192: if (isFinal()) {
193: out += "(final)";
194: }
195: if (isSynchronized()) {
196: out += "(synchronized)";
197: }
198: if (isNative()) {
199: out += "(native)";
200: }
201: if (isStrictfp()) {
202: out += "(strict)";
203: }
204: if (isTransient()) {
205: out += "(transient)";
206: }
207: return out;
208: }
209: }
|