litesoft
Diff Revisions
848
vs
849
for /trunk/Java/core/Anywhere/src/org/litesoft/core/simpletypes/nonpublic/AbstractXY.java
|
@@ -4,15 +4,13 @@ |
4 |
4 |
|
import org.litesoft.core.typeutils.*; |
5 |
5 |
|
|
6 |
6 |
|
/** |
7 |
|
- |
* @noinspection EqualsAndHashcode |
|
7 |
+ |
* @noinspection EqualsAndHashcode, deprecation |
8 |
8 |
|
*/ |
9 |
9 |
|
public abstract class AbstractXY<T extends AbstractXY> extends CompareSupport<T> implements SimpleType |
10 |
10 |
|
{ |
11 |
|
- |
protected int mX, mY; |
|
11 |
+ |
private /* final */ int mX, mY; |
12 |
12 |
|
|
13 |
|
- |
/** |
14 |
|
- |
* @deprecated - for Serialization |
15 |
|
- |
*/ |
|
13 |
+ |
@SuppressWarnings({"deprecation", "UnusedDeclaration"}) @Deprecated /** for Serialization */ |
16 |
14 |
|
protected AbstractXY() |
17 |
15 |
|
{ |
18 |
16 |
|
} |
|
@@ -23,21 +21,11 @@ |
23 |
21 |
|
mY = validate( "Y", pY ); |
24 |
22 |
|
} |
25 |
23 |
|
|
26 |
|
- |
private void setX( int pX ) |
27 |
|
- |
{ |
28 |
|
- |
mX = validate( "X", pX ); |
29 |
|
- |
} |
30 |
|
- |
|
31 |
24 |
|
public int getX() |
32 |
25 |
|
{ |
33 |
26 |
|
return mX; |
34 |
27 |
|
} |
35 |
28 |
|
|
36 |
|
- |
private void setY( int pY ) |
37 |
|
- |
{ |
38 |
|
- |
mY = validate( "Y", pY ); |
39 |
|
- |
} |
40 |
|
- |
|
41 |
29 |
|
public int getY() |
42 |
30 |
|
{ |
43 |
31 |
|
return mY; |
|
@@ -90,7 +78,7 @@ |
90 |
78 |
|
} |
91 |
79 |
|
} |
92 |
80 |
|
|
93 |
|
- |
protected static void populate( String pWhat, AbstractXY pXY, String pToString ) |
|
81 |
+ |
protected T copyParse( String pWhat, String pToString ) |
94 |
82 |
|
{ |
95 |
83 |
|
if ( pToString == null ) |
96 |
84 |
|
{ |
|
@@ -110,10 +98,17 @@ |
110 |
98 |
|
{ |
111 |
99 |
|
throw populateProblem( pWhat, ": No X-Y sep ','" ); |
112 |
100 |
|
} |
113 |
|
- |
pXY.setX( parseValue( pWhat, "X", pToString.substring( 1, zCommaAt ) ) ); |
114 |
|
- |
pXY.setY( parseValue( pWhat, "Y", pToString.substring( zCommaAt + 1, pToString.length() - 1 ) ) ); |
|
101 |
+ |
return copy( parseValue( pWhat, "X", pToString.substring( 1, zCommaAt ) ), |
|
102 |
+ |
parseValue( pWhat, "Y", pToString.substring( zCommaAt + 1, pToString.length() - 1 ) ) ); |
115 |
103 |
|
} |
116 |
104 |
|
|
|
105 |
+ |
private T copy( int pX, int pY ) |
|
106 |
+ |
{ |
|
107 |
+ |
return Cast.it( ((pX == mX) && (pY == mY)) ? this : clone( pX, pY ) ); |
|
108 |
+ |
} |
|
109 |
+ |
|
|
110 |
+ |
protected abstract AbstractXY clone( int pX, int pY ); |
|
111 |
+ |
|
117 |
112 |
|
public String toString() |
118 |
113 |
|
{ |
119 |
114 |
|
return "(" + mX + "," + mY + ")"; |