Subversion Repository Public Repository

litesoft

Diff Revisions 911 vs 912 for /trunk/Java/core/Anywhere/src/org/litesoft/core/simpletypes/temporal/TimestampH.java

Diff revisions: vs.
  @@ -8,7 +8,6 @@
8 8 * Note: This class supports Gregorian dates only. As such when working with
9 9 * Java Util Date(s) (or it's descendants) the local (or "Wall") date & time is all that is considered!
10 10 */
11 - @SuppressWarnings("UnusedDeclaration")
12 11 public class TimestampH extends AbstractTimestampH<TimestampH, AbstractTimestampH.Mutable>
13 12 {
14 13 private static final long serialVersionUID = 1L;
  @@ -16,52 +15,41 @@
16 15 @SuppressWarnings({"deprecation", "UnusedDeclaration"}) @Deprecated /** for Serialization */
17 16 protected TimestampH()
18 17 {
19 - super( 0, 0 );
18 + this( 0, 1, 1, 0, 0 );
20 19 }
21 20
22 - private TimestampH( int pOriginalZuluOffsetMins, long pUTC )
21 + public TimestampH( int pYear, int pMonth, int pDay, int pZuluOffsetMins, int pHour )
23 22 {
24 - super( pOriginalZuluOffsetMins, pUTC );
23 + super( pYear, pMonth, pDay, pZuluOffsetMins, pHour );
25 24 }
26 25
27 - private TimestampH( int pOriginalZuluOffsetMins, UtilDateAdaptor pDateAdaptor )
26 + public TimestampH( TimestampAccessorH pAccessor )
28 27 {
29 - super( pOriginalZuluOffsetMins, pDateAdaptor );
30 - }
31 -
32 - public TimestampH( UtilDateAdaptor pDateAdaptor )
33 - {
34 - super( pDateAdaptor.force( TemporalResolution.ToHour ) );
35 - }
36 -
37 - @Override
38 - protected UtilDateAdaptor createWall()
39 - {
40 - return new UtilDateAdaptor( getUTClong(), TemporalResolution.ToHour );
28 + this( pAccessor.getYear(), pAccessor.getMonth(), pAccessor.getDay(), //
29 + pAccessor.getZuluOffsetMins(), //
30 + pAccessor.getHour() );
41 31 }
42 32
43 33 public static TimestampH fromWallTime( int pYear, int pMonth, int pDay, int pHour )
44 34 {
45 - return new TimestampH( UtilDateAdaptor.wall( pYear,
46 - validateMonth( pYear, pMonth ),
47 - validateDay( pYear, pMonth, pDay ),
48 - validateHour( pHour ) ) );
35 + return new TimestampH( UtilDateAdaptor.currentWall( pYear, pMonth, pDay, pHour ) );
49 36 }
50 37
51 38 public static TimestampH fromISO8601( int pYear, int pMonth, int pDay, int pHour, boolean pZulu, Integer pUTC_offsetMinutes )
52 39 {
53 - validateMonth( pYear, pMonth );
54 - validateDay( pYear, pMonth, pDay );
55 - validateHour( pHour );
56 40 int zZuluOffsetMins = Integers.deNull( pUTC_offsetMinutes );
57 - if ( pZulu )
41 + Mutable zMutable = new Mutable( pYear, pMonth, pDay, //
42 + false, zZuluOffsetMins, //
43 + pHour );
44 + if ( pZulu || (zZuluOffsetMins == 0) )
58 45 {
59 - return new TimestampH( zZuluOffsetMins, UtilDateAdaptor.zulu( pYear, pMonth, pDay, pHour ) );
46 + zMutable.fromZuluToWall();
60 47 }
61 - Mutable zMutable = new Mutable( pYear, pMonth, pDay, false, pHour ); // Original Wall Time
62 - zMutable.adjustOrigWallToZulu( zZuluOffsetMins );
63 - return new TimestampH( zZuluOffsetMins,
64 - UtilDateAdaptor.zulu( zMutable.getYear(), zMutable.getMonth(), zMutable.getDay(), zMutable.getHour() ) );
48 + else // !Zulu && zZuluOffsetMins != 0
49 + {
50 + zMutable.fromOriginalWallToWall();
51 + }
52 + return new TimestampH( zMutable );
65 53 }
66 54
67 55 @Override
  @@ -104,10 +92,9 @@
104 92
105 93 public final String toSQLvalue()
106 94 {
107 - return "TODO"; // TODO: xxx
108 - // Mutable zMutable = new Mutable( getYear(), getMonth(), getDay(), false, getZuluOffsetMins(), getHour() );
109 - // zMutable.fromWallToZulu();
110 - // return formatSQLvalueYMDH( zMutable, true, new StringBuilder() ).toString();
95 + Mutable zMutable = new Mutable( getYear(), getMonth(), getDay(), false, getZuluOffsetMins(), getHour() );
96 + zMutable.fromWallToZulu();
97 + return formatSQLvalueYMDH( zMutable, true, new StringBuilder() ).toString();
111 98 }
112 99
113 100 public static TimestampH fromSQLvalue( String pToSQLvalue )
  @@ -124,7 +111,7 @@
124 111 @Override
125 112 public UtilDateAdaptor toUtilDateAdaptor()
126 113 {
127 - return getWall();
114 + return UtilDateAdaptor.offsetWallToHour( getZuluOffsetMins(), getYear(), getMonth(), getDay(), getHour() );
128 115 }
129 116
130 117 // vvvvvvvvvvvvvvvvvv Non-common Public methods vvvvvvvvvvvvvvvvv
  @@ -139,24 +126,30 @@
139 126 @Override
140 127 protected TimestampH createTypeFrom( Mutable pMutable )
141 128 {
142 - return null; // TODO: new TimestampH( pMutable.getYear(), pMutable.getMonth(), pMutable.getDay(), pMutable.getZuluOffsetMins(), pMutable.getHour() );
129 + return new TimestampH( pMutable.getYear(), pMutable.getMonth(), pMutable.getDay(), pMutable.getZuluOffsetMins(), pMutable.getHour() );
130 + }
131 +
132 + @Override
133 + protected Mutable createMutable( int pNewYear )
134 + {
135 + return new Mutable( pNewYear, getMonth(), getDay(), true, getZuluOffsetMins(), getHour() );
143 136 }
144 137
145 138 @Override
146 139 protected Mutable createMutable( int pYear, int pNewMonth )
147 140 {
148 - return null; // TODO: new Mutable( pYear, pNewMonth, getDay(), true, getZuluOffsetMins(), getHour() );
141 + return new Mutable( pYear, pNewMonth, getDay(), true, getZuluOffsetMins(), getHour() );
149 142 }
150 143
151 144 @Override
152 145 protected Mutable createMutable( int pYear, int pMonth, int pNewDay )
153 146 {
154 - return null; // TODO: new Mutable( pYear, pMonth, pNewDay, false, getZuluOffsetMins(), getHour() );
147 + return new Mutable( pYear, pMonth, pNewDay, false, getZuluOffsetMins(), getHour() );
155 148 }
156 149
157 150 @Override
158 151 protected Mutable createMutable( int pYear, int pMonth, int pDay, int pNewHour )
159 152 {
160 - return null; // TODO: new Mutable( pYear, pMonth, pDay, false, getZuluOffsetMins(), pNewHour );
153 + return new Mutable( pYear, pMonth, pDay, false, getZuluOffsetMins(), pNewHour );
161 154 }
162 155 }