1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.nuiton.eugene.models.object;
23
24 import com.google.common.collect.ImmutableSet;
25
26 import java.util.Set;
27
28
29
30
31
32
33
34 public enum ObjectModelJavaModifier implements ObjectModelModifier {
35
36 STATIC,
37 FINAL,
38 ABSTRACT,
39 TRANSIENT,
40
41 PUBLIC,
42 PROTECTED,
43 PRIVATE,
44 PACKAGE,
45
46 VOLATILE,
47 SYNCHRONIZED,
48 NATIVE,
49 STRICTFP;
50
51 public static final Set<? extends ObjectModelModifier> visibilityModifiers =
52 ImmutableSet.of(PUBLIC, PROTECTED, PRIVATE, PACKAGE);
53
54 @Override
55 public boolean isVisibility() {
56 return visibilityModifiers.contains(this);
57 }
58
59 @Override
60 public boolean isAssociationType() {
61 return false;
62 }
63
64 @Override
65 public String getName() {
66 return name();
67 }
68
69 @Override
70 public String toString() {
71 String result = name().toLowerCase();
72 if (PACKAGE.equals(this)) {
73 result = "";
74 }
75 return result;
76 }
77
78 public static ObjectModelJavaModifier fromVisibility(String name) {
79 if (name.equals(PUBLIC.toString())) {
80 return PUBLIC;
81 } else if (name.equals(PRIVATE.toString())) {
82 return PRIVATE;
83 } else if (name.equals(PROTECTED.toString())) {
84 return PROTECTED;
85 } else if (name.equals(PACKAGE.toString())) {
86 return PACKAGE;
87 } else {
88 return null;
89 }
90 }
91
92 }