1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.apt.annotation;
21
22 public enum DynamicExpression {
23
24 VALUE_EXPRESSION(false, true, false),
25 VALUE_EXPRESSION_REQUIRED(true, true, false),
26 METHOD_EXPRESSION(false, false, true),
27 METHOD_EXPRESSION_REQUIRED(true, false, true),
28 PROHIBITED(false, false, false),
29
30 @Deprecated
31 VALUE_BINDING(false, true, false),
32
33 @Deprecated
34 VALUE_BINDING_REQUIRED(true, true, false),
35
36 @Deprecated
37 METHOD_BINDING(false, false, true),
38
39 @Deprecated
40 METHOD_BINDING_REQUIRED(true, false, true);
41
42 private boolean required;
43 private boolean valueExpression;
44 private boolean methodExpression;
45
46 DynamicExpression(boolean required, boolean valueExpression, boolean methodExpression) {
47 this.required = required;
48 this.valueExpression = valueExpression;
49 this.methodExpression = methodExpression;
50 }
51
52 public boolean isRequired() {
53 return required;
54 }
55
56 public boolean isValueExpression() {
57 return valueExpression;
58 }
59
60 public boolean isMethodExpression() {
61 return methodExpression;
62 }
63
64 public String toMetaDataString() {
65 switch (this) {
66 case VALUE_EXPRESSION:
67 case VALUE_BINDING:
68 return "ALLOWED";
69 case METHOD_EXPRESSION:
70 case METHOD_BINDING:
71 return "ALLOWED";
72 case VALUE_EXPRESSION_REQUIRED:
73 case VALUE_BINDING_REQUIRED:
74 return "REQUIRED";
75 case METHOD_EXPRESSION_REQUIRED:
76 case METHOD_BINDING_REQUIRED:
77 return "REQUIRED";
78 case PROHIBITED:
79 return "PROHIBITED";
80 default:
81 throw new IllegalStateException("Unexpected DynamicExpression " + name());
82 }
83 }
84
85 public String toString() {
86 switch (this) {
87 case VALUE_EXPRESSION:
88 case VALUE_BINDING:
89 return "VB";
90 case VALUE_EXPRESSION_REQUIRED:
91 case VALUE_BINDING_REQUIRED:
92 return "VB";
93 case METHOD_EXPRESSION:
94 case METHOD_BINDING:
95 return "MB";
96 case METHOD_EXPRESSION_REQUIRED:
97 case METHOD_BINDING_REQUIRED:
98 return "MB";
99 case PROHIBITED:
100 return "NONE";
101 default:
102 throw new IllegalStateException("Unexpected DynamicExpression " + name());
103 }
104 }
105 }