|
@@ -2,6 +2,7 @@ |
2 |
2 |
|
|
3 |
3 |
|
import org.litesoft.commonfoundation.base.*; |
4 |
4 |
|
import org.litesoft.commonfoundation.typeutils.*; |
|
5 |
+ |
import org.litesoft.commonfoundation.typeutils.gregorian.*; |
5 |
6 |
|
|
6 |
7 |
|
public abstract class AbstractTimestampH<T extends AbstractTimestampH, M extends AbstractTimestampH.Mutable> extends AbstractCalendarYMD<T, M> |
7 |
8 |
|
implements TimestampAccessorH |
|
@@ -49,6 +50,7 @@ |
49 |
50 |
|
return (pHours == 0) ? us() : LLsetHour( mHour - pHours ); |
50 |
51 |
|
} |
51 |
52 |
|
|
|
53 |
+ |
@Override |
52 |
54 |
|
public int getZuluOffsetMins() |
53 |
55 |
|
{ |
54 |
56 |
|
return mZuluOffsetMins; |
|
@@ -56,7 +58,7 @@ |
56 |
58 |
|
|
57 |
59 |
|
// vvvvvvvvvvvvvvvvvv Support methods vvvvvvvvvvvvvvvvv |
58 |
60 |
|
|
59 |
|
- |
protected static final int parseOffset( String pStringForm, String... pParts ) |
|
61 |
+ |
protected static int parseOffset( String pStringForm, String... pParts ) |
60 |
62 |
|
{ |
61 |
63 |
|
String zPart = Strings.noEmpty( pParts[pParts.length - 1] ); |
62 |
64 |
|
if ( zPart == null ) |
|
@@ -90,7 +92,7 @@ |
90 |
92 |
|
throw new IllegalArgumentException( "Invalid Offset in: " + pStringForm ); |
91 |
93 |
|
} |
92 |
94 |
|
|
93 |
|
- |
protected static final StringBuilder tailSQLvalue( TimestampAccessorH pAccessorYMDH, boolean pAddTail, StringBuilder pSB ) |
|
95 |
+ |
protected static StringBuilder tailSQLvalue( TimestampAccessorH pAccessorYMDH, boolean pAddTail, StringBuilder pSB ) |
94 |
96 |
|
{ |
95 |
97 |
|
if ( pAddTail ) |
96 |
98 |
|
{ |
|
@@ -119,31 +121,31 @@ |
119 |
121 |
|
return pSB; |
120 |
122 |
|
} |
121 |
123 |
|
|
122 |
|
- |
protected static final int parseHour( String pStringForm, String... pParts ) |
|
124 |
+ |
protected static int parseHour( String pStringForm, String... pParts ) |
123 |
125 |
|
{ |
124 |
126 |
|
return parseInt( pParts[3], "Hour", pStringForm ); |
125 |
127 |
|
} |
126 |
128 |
|
|
127 |
|
- |
protected static final StringBuilder formatSQLvalueYMDH( TimestampAccessorH pAccessor, boolean pAddTail, StringBuilder pSB ) |
|
129 |
+ |
protected static StringBuilder formatSQLvalueYMDH( TimestampAccessorH pAccessor, boolean pAddTail, StringBuilder pSB ) |
128 |
130 |
|
{ |
129 |
131 |
|
formatSQLvalueYMD( pAccessor, pSB ).append( 'T' ); |
130 |
132 |
|
formatHour( pAccessor, pSB ); |
131 |
133 |
|
return tailSQLvalue( pAccessor, pAddTail, pSB ); |
132 |
134 |
|
} |
133 |
135 |
|
|
134 |
|
- |
protected static final StringBuilder formatSortableDisplayFormYMDH( TimestampAccessorH pAccessor, StringBuilder pSB ) |
|
136 |
+ |
protected static StringBuilder formatSortableDisplayFormYMDH( TimestampAccessorH pAccessor, StringBuilder pSB ) |
135 |
137 |
|
{ |
136 |
138 |
|
formatSortableDisplayFormYMD( pAccessor, pSB ).append( ' ' ); |
137 |
139 |
|
return formatHour( pAccessor, pSB ); |
138 |
140 |
|
} |
139 |
141 |
|
|
140 |
|
- |
protected static final StringBuilder formatHour( TimestampAccessorH pAccessor, StringBuilder pSB ) |
|
142 |
+ |
protected static StringBuilder formatHour( TimestampAccessorH pAccessor, StringBuilder pSB ) |
141 |
143 |
|
{ |
142 |
144 |
|
pSB.append( Integers.zeroPadIt( 2, pAccessor.getHour() ) ); |
143 |
145 |
|
return pSB; |
144 |
146 |
|
} |
145 |
147 |
|
|
146 |
|
- |
protected static final int validateHour( int pHour ) |
|
148 |
+ |
protected static int validateHour( int pHour ) |
147 |
149 |
|
throws IllegalArgumentException |
148 |
150 |
|
{ |
149 |
151 |
|
if ( (pHour < 0) || (23 < pHour) ) |
|
@@ -153,6 +155,7 @@ |
153 |
155 |
|
return pHour; |
154 |
156 |
|
} |
155 |
157 |
|
|
|
158 |
+ |
@Override |
156 |
159 |
|
protected int LL_hashCode() |
157 |
160 |
|
{ |
158 |
161 |
|
return hashCodeEm( super.hashCode(), mHour ); |
|
@@ -161,11 +164,13 @@ |
161 |
164 |
|
/** |
162 |
165 |
|
* T is non-null and of the same class, so should check everything! |
163 |
166 |
|
*/ |
|
167 |
+ |
@Override |
164 |
168 |
|
protected boolean LL_equalsNonNullStrict( T them ) |
165 |
169 |
|
{ |
166 |
170 |
|
return super.LL_equalsNonNullStrict( them ) && this.getHour() == them.getHour(); |
167 |
171 |
|
} |
168 |
172 |
|
|
|
173 |
+ |
@Override |
169 |
174 |
|
protected Compare LL_compareNonNullLoose( Object them ) |
170 |
175 |
|
{ |
171 |
176 |
|
Compare zCompare = super.LL_compareNonNullLoose( them ); |
|
@@ -221,11 +226,13 @@ |
221 |
226 |
|
adjustMinutesTo( UtilDateAdaptor.calculateCurrentUTCtoWallOffsetMinutes() - getZuluOffsetMins() ); |
222 |
227 |
|
} |
223 |
228 |
|
|
|
229 |
+ |
@Override |
224 |
230 |
|
public final int getHour() |
225 |
231 |
|
{ |
226 |
232 |
|
return mHour; |
227 |
233 |
|
} |
228 |
234 |
|
|
|
235 |
+ |
@Override |
229 |
236 |
|
public void normalize() |
230 |
237 |
|
{ |
231 |
238 |
|
super.normalize(); |