Subversion Repository Public Repository

litesoft

Diff Revisions 626 vs 629 for /trunk/GWT_Sandbox/FormEngine/src/com/temp/client/foundation/widget/input/fieldsupport/StateInputField.java

Diff revisions: vs.
  @@ -3,183 +3,105 @@
3 3 /**
4 4 * The State of an InputField is the combination of the following boolean states:
5 5 * <p/>
6 - * Empty
7 6 * Changed
8 - * Required
9 7 * Errored
10 8 * Focused
11 9 */
12 10 public class StateInputField
13 11 {
14 - public static class Flags
15 - {
16 - public static final Flags NOTHING = new Flags( false, false, false, false, false );
17 -
18 - private boolean mEmpty, mChanged, mRequired, mErrored, mFocused;
19 -
20 - private Flags( boolean pEmpty, boolean pChanged, boolean pRequired, boolean pErrored, boolean pFocused )
21 - {
22 - mEmpty = pEmpty;
23 - mChanged = pChanged;
24 - mRequired = pRequired;
25 - mErrored = pErrored;
26 - mFocused = pFocused;
27 - }
28 -
29 - public boolean isEmpty()
30 - {
31 - return mEmpty;
32 - }
33 -
34 - public boolean isChanged()
35 - {
36 - return mChanged;
37 - }
38 -
39 - public boolean isRequired()
40 - {
41 - return mRequired;
42 - }
43 -
44 - public boolean isErrored()
45 - {
46 - return mErrored;
47 - }
48 -
49 - public boolean isFocused()
50 - {
51 - return mFocused;
52 - }
53 -
54 - public Flags empty( boolean pEmpty )
55 - {
56 - return changeTo( pEmpty, mChanged, mRequired, mErrored, mFocused );
57 - }
12 + public static final StateInputField BASE = new StateInputField( false, false, false );
58 13
59 - public Flags changed( boolean pChanged )
60 - {
61 - return changeTo( mEmpty, pChanged, mRequired, mErrored, mFocused );
62 - }
63 -
64 - public Flags required( boolean pRequired )
65 - {
66 - return changeTo( mEmpty, mChanged, pRequired, mErrored, mFocused );
67 - }
14 + private boolean mChanged, mErrored, mFocused;
68 15
69 - public Flags errored( boolean pErrored )
70 - {
71 - return changeTo( mEmpty, mChanged, mRequired, pErrored, mFocused );
72 - }
16 + private StateInputField( boolean pChanged, boolean pErrored, boolean pFocused )
17 + {
18 + mChanged = pChanged;
19 + mErrored = pErrored;
20 + mFocused = pFocused;
21 + }
73 22
74 - public Flags focused( boolean pFocused )
75 - {
76 - return changeTo( mEmpty, mChanged, mRequired, mErrored, pFocused );
77 - }
23 + public boolean isChanged()
24 + {
25 + return mChanged;
26 + }
78 27
79 - private Flags changeTo( boolean pEmpty, boolean pChanged, boolean pRequired, boolean pErrored, boolean pFocused )
80 - {
81 - if ( (mEmpty == pEmpty) && (mChanged == pChanged) && (mRequired == pRequired) && (mErrored == pErrored) && (mFocused == pFocused) )
82 - {
83 - return this;
84 - }
85 - return new Flags( pEmpty, pChanged, pRequired, pErrored, pFocused );
86 - }
28 + public boolean isErrored()
29 + {
30 + return mErrored;
31 + }
87 32
88 - @Override
89 - public boolean equals( Object o )
90 - {
91 - return (this == o) || ((o instanceof Flags) && equals( (Flags) o ));
92 - }
33 + public boolean isFocused()
34 + {
35 + return mFocused;
36 + }
93 37
94 - public boolean equals( Flags them )
95 - {
96 - return (them != null) //
97 - && (this.mChanged == them.mChanged) //
98 - && (this.mEmpty == them.mEmpty) //
99 - && (this.mErrored == them.mErrored) //
100 - && (this.mFocused == them.mFocused) //
101 - && (this.mRequired == them.mRequired);
102 - }
38 + public StateInputField changed( boolean pChanged )
39 + {
40 + return changeTo( pChanged, mErrored, mFocused );
41 + }
103 42
104 - @Override
105 - public int hashCode()
106 - {
107 - int result = (mEmpty ? 1 : 0);
108 - result = (result << 1) + (mChanged ? 1 : 0);
109 - result = (result << 1) + (mRequired ? 1 : 0);
110 - result = (result << 1) + (mErrored ? 1 : 0);
111 - result = (result << 1) + (mFocused ? 1 : 0);
112 - return result;
113 - }
43 + public StateInputField errored( boolean pErrored )
44 + {
45 + return changeTo( mChanged, pErrored, mFocused );
46 + }
114 47
115 - @Override
116 - public String toString()
117 - {
118 - StringBuilder sb = new StringBuilder();
119 - add( sb, "Changed", mChanged );
120 - add( sb, "Empty", mEmpty );
121 - add( sb, "Errored", mErrored );
122 - add( sb, "Focused", mFocused );
123 - add( sb, "Required", mRequired );
124 - return sb.toString();
125 - }
48 + public StateInputField focused( boolean pFocused )
49 + {
50 + return changeTo( mChanged, mErrored, pFocused );
51 + }
126 52
127 - private void add( StringBuilder sb, String what, boolean flag )
53 + private StateInputField changeTo( boolean pChanged, boolean pErrored, boolean pFocused )
54 + {
55 + if ( (mChanged == pChanged) && (mErrored == pErrored) && (mFocused == pFocused) )
128 56 {
129 - if ( flag )
130 - {
131 - if ( sb.length() != 0 )
132 - {
133 - sb.append( ", " );
134 - }
135 - sb.append( what );
136 - }
57 + return this;
137 58 }
59 + return new StateInputField( pChanged, pErrored, pFocused );
138 60 }
139 61
140 - public enum RequiredSpacerStyle
62 + @Override
63 + public boolean equals( Object o )
141 64 {
142 - Unsatisfied, //
143 - Satisfied;
65 + return (this == o) || ((o instanceof StateInputField) && equals( (StateInputField) o ));
66 + }
144 67
145 - public String toCSS()
146 - {
147 - return "IF_RequiresData" + name();
148 - }
68 + public boolean equals( StateInputField them )
69 + {
70 + return (them != null) //
71 + && (this.mChanged == them.mChanged) //
72 + && (this.mErrored == them.mErrored) //
73 + && (this.mFocused == them.mFocused);
74 + }
149 75
150 - public static RequiredSpacerStyle fromFlags( Flags flags )
151 - {
152 - return (flags.isRequired() && flags.isEmpty()) ? Unsatisfied : Satisfied;
153 - }
76 + @Override
77 + public int hashCode()
78 + {
79 + int result = (mChanged ? 1 : 0);
80 + result = (result << 1) + (mErrored ? 1 : 0);
81 + result = (result << 1) + (mFocused ? 1 : 0);
82 + return result;
154 83 }
155 84
156 - public enum BoxStyle
85 + @Override
86 + public String toString()
157 87 {
158 - Focused, //
159 - Errored, //
160 - Changed, //
161 - Normal;
88 + StringBuilder sb = new StringBuilder();
89 + add( sb, "Changed", mChanged );
90 + add( sb, "Errored", mErrored );
91 + add( sb, "Focused", mFocused );
92 + return sb.toString();
93 + }
162 94
163 - public String toCSS()
164 - {
165 - return "IF_Box" + name();
166 - }
95 + public String toCSS()
96 + {
97 + return "IF_Box" + this;
98 + }
167 99
168 - public static BoxStyle fromFlags( Flags flags )
100 + private void add( StringBuilder sb, String what, boolean flag )
101 + {
102 + if ( flag )
169 103 {
170 - if ( flags.isFocused() )
171 - {
172 - return Focused;
173 - }
174 - if ( flags.isErrored() )
175 - {
176 - return Errored;
177 - }
178 - if ( flags.isChanged() )
179 - {
180 - return Changed;
181 - }
182 - return Normal;
104 + sb.append( what );
183 105 }
184 106 }
185 107 }