recognize java comments
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / methods / Modifiers.java
1 package eu.svjatoslav.inspector.java.methods;
2
3 public class Modifiers {
4
5         public enum Access {
6                 PUBLIC("public"), PROTECTED("protected"), DEFAULT(""), PRIVATE(
7                                 "private");
8
9                 public final String name;
10
11                 Access(final String name) {
12                         this.name = name;
13                 };
14         }
15
16         Access access = Access.DEFAULT;
17
18         boolean isStatic = false;;
19
20         boolean isFinal = false;
21
22         boolean isAbstract = false;
23
24         public boolean parseModifier(final String string) {
25                 for (final Access access : Access.values())
26                         if (access.name.equals(string)) {
27                                 this.access = access;
28                                 return true;
29                         }
30
31                 if ("static".equals(string)) {
32                         isStatic = true;
33                         return true;
34                 }
35
36                 if ("final".equals(string)) {
37                         isFinal = true;
38                         return true;
39                 }
40
41                 if ("abstract".equals(string)) {
42                         isAbstract = true;
43                         return true;
44                 }
45
46                 return false;
47         }
48
49         public void reset() {
50                 isStatic = false;
51                 isFinal = false;
52                 access = Access.DEFAULT;
53         }
54
55         @Override
56         public String toString() {
57                 final StringBuffer result = new StringBuffer();
58
59                 result.append(access.name);
60
61                 if (isStatic) {
62                         if (result.length() > 0)
63                                 result.append(" ");
64                         result.append("static");
65                 }
66
67                 if (isFinal) {
68                         if (result.length() > 0)
69                                 result.append(" ");
70                         result.append("final");
71                 }
72
73                 return result.toString();
74         }
75 }