001 package net.sourceforge.pmd.lang.java.ast;
002
003 public abstract class AbstractJavaAccessNode extends AbstractJavaNode implements AccessNode {
004
005 private int modifiers;
006
007 public AbstractJavaAccessNode(int i) {
008 super(i);
009 }
010
011 public AbstractJavaAccessNode(JavaParser parser, int i) {
012 super(parser, i);
013 }
014
015 public int getModifiers() {
016 return this.modifiers;
017 }
018
019 public void setModifiers(int modifiers) {
020 this.modifiers = modifiers;
021 }
022
023 public boolean isPublic() {
024 return isModifier(PUBLIC);
025 }
026
027 public void setPublic(boolean isPublic) {
028 setModifier(isPublic, PUBLIC);
029 }
030
031 public boolean isProtected() {
032 return isModifier(PROTECTED);
033 }
034
035 public void setProtected(boolean isProtected) {
036 setModifier(isProtected, PROTECTED);
037 }
038
039 public boolean isPrivate() {
040 return isModifier(PRIVATE);
041 }
042
043 public void setPrivate(boolean isPrivate) {
044 setModifier(isPrivate, PRIVATE);
045 }
046
047 public boolean isAbstract() {
048 return isModifier(ABSTRACT);
049 }
050
051 public void setAbstract(boolean isAbstract) {
052 setModifier(isAbstract, ABSTRACT);
053 }
054
055 public boolean isStatic() {
056 return isModifier(STATIC);
057 }
058
059 public void setStatic(boolean isStatic) {
060 setModifier(isStatic, STATIC);
061 }
062
063 public boolean isFinal() {
064 return isModifier(FINAL);
065 }
066
067 public void setFinal(boolean isFinal) {
068 setModifier(isFinal, FINAL);
069 }
070
071 public boolean isSynchronized() {
072 return isModifier(SYNCHRONIZED);
073 }
074
075 public void setSynchronized(boolean isSynchronized) {
076 setModifier(isSynchronized, SYNCHRONIZED);
077 }
078
079 public boolean isNative() {
080 return isModifier(NATIVE);
081 }
082
083 public void setNative(boolean isNative) {
084 setModifier(isNative, NATIVE);
085 }
086
087 public boolean isTransient() {
088 return isModifier(TRANSIENT);
089 }
090
091 public void setTransient(boolean isTransient) {
092 setModifier(isTransient, TRANSIENT);
093 }
094
095 public boolean isVolatile() {
096 return isModifier(VOLATILE);
097 }
098
099 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 private final boolean isModifier(int mask) {
112 return (modifiers & mask) == mask;
113 }
114
115 private void setModifier(boolean enable, int mask) {
116 if (enable) {
117 this.modifiers |= mask;
118 } else {
119 this.modifiers &= ~mask;
120 }
121 }
122
123 public boolean isPackagePrivate() {
124 return !isPrivate() && !isPublic() && !isProtected();
125 }
126 }
|