litesoft
Diff Revisions
859
vs
862
for /trunk/Java/core/Anywhere/src/org/litesoft/core/simpletypes/temporal/AbstractCalendarY.java
|
@@ -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 |
|
} |