Subversion Repository Public Repository

litesoft

Diff Revisions 859 vs 862 for /trunk/Java/core/Anywhere/src/org/litesoft/core/simpletypes/temporal/AbstractCalendarY.java

Diff revisions: vs.
  @@ -1,12 +1,14 @@
1 1 package org.litesoft.core.simpletypes.temporal;
2 2
3 + import java.util.*;
4 +
3 5 import org.litesoft.core.typeutils.*;
4 6
5 7 public abstract class AbstractCalendarY<T extends AbstractCalendarY> extends AbstractTemporal<T> implements CalendarAccessorY
6 8 {
7 9 private static final long serialVersionUID = 1L;
8 10
9 - private final int mYear;
11 + private /* final */ int mYear;
10 12
11 13 protected AbstractCalendarY( int pYear )
12 14 {
  @@ -20,28 +22,27 @@
20 22 }
21 23
22 24 /**
23 - * Return a T with the Year set to the parameter, this is accomplished by utilizing addYears or minusYears as is appropriate (with their day
24 - * adjusting logic if appropriate).
25 + * Return a T with the Year set to the parameter, if it was a LeapDay and can not be a LeapDay it will be 28Feb.
25 26 */
26 27 public final T year( int pYear )
27 28 {
28 - return (mYear == pYear) ? us() : (pYear > mYear) ? LLsetYear( pYear, true ) : LLsetYear( pYear, false );
29 + return (mYear == pYear) ? us() : LLsetYear( pYear );
29 30 }
30 31
31 32 /**
32 - * if after add pYears AND it was a LeapDay and can not be a LeapDay will be 1Mar.
33 + * if after add pYears AND it was a LeapDay and can not be a LeapDay it will be 28Feb.
33 34 */
34 35 public final T addYears( int pYears )
35 36 {
36 - return (pYears == 0) ? us() : LLsetYear( mYear + pYears, true );
37 + return (pYears == 0) ? us() : LLsetYear( mYear + pYears );
37 38 }
38 39
39 40 /**
40 - * if after minus pYears AND it was a LeapDay and can not be a LeapDay will be 28Feb.
41 + * if after minus pYears AND it was a LeapDay and can not be a LeapDay it will be 28Feb.
41 42 */
42 43 public final T minusYears( int pYears )
43 44 {
44 - return (pYears == 0) ? us() : LLsetYear( mYear - pYears, false );
45 + return (pYears == 0) ? us() : LLsetYear( mYear - pYears );
45 46 }
46 47
47 48 /**
  @@ -76,8 +77,25 @@
76 77 return (this == them) || (LESSER != LL_compareNonNullLoose( them ).result());
77 78 }
78 79
80 + public String toSQLvalue()
81 + {
82 + return formatYear4();
83 + }
84 +
85 + public Date toUtilDate()
86 + {
87 + return toUtilDateAdaptor().getWallDate();
88 + }
89 +
90 + abstract public UtilDateAdaptor toUtilDateAdaptor();
91 +
79 92 // vvvvvvvvvvvvvvvvvv Support methods vvvvvvvvvvvvvvvvv
80 93
94 + protected final String formatYear4()
95 + {
96 + return Integers.zeroPadIt( 4, mYear );
97 + }
98 +
81 99 @Override
82 100 protected int LL_hashCode()
83 101 {
  @@ -104,7 +122,7 @@
104 122 }
105 123
106 124 /**
107 - * @param pNewYear != mYear
125 + * @param pNewYear != current
108 126 */
109 - abstract protected T LLsetYear( int pNewYear, boolean pAdjustForward );
127 + abstract protected T LLsetYear( int pNewYear );
110 128 }