|
@@ -2,10 +2,11 @@ |
2 |
2 |
|
|
3 |
3 |
|
import java.util.*; |
4 |
4 |
|
|
|
5 |
+ |
import org.litesoft.aokeyhole.objects.AttributeMetaData; |
5 |
6 |
|
import org.litesoft.aokeyhole.objects.*; |
6 |
7 |
|
import org.litesoft.aokeyhole.objects.attributes.*; |
7 |
8 |
|
import org.litesoft.aokeyhole.objects.properties.*; |
8 |
|
- |
import org.litesoft.bo.change.*; |
|
9 |
+ |
import org.litesoft.bo.attributes.*; |
9 |
10 |
|
import org.litesoft.codegen.*; |
10 |
11 |
|
import org.litesoft.core.util.*; |
11 |
12 |
|
import org.litesoft.orsup.lazyeval.*; |
|
@@ -13,6 +14,8 @@ |
13 |
14 |
|
|
14 |
15 |
|
public class GeneratePOGO extends AbstractPOFileGenerator |
15 |
16 |
|
{ |
|
17 |
+ |
public static final String[] IMPLIMENTS_HAS_ATTRIBUTES = {"HasAttributes"}; |
|
18 |
+ |
|
16 |
19 |
|
private static final AttributeType[] PAIRED_TYPES = new AttributeType[]{A_CommonPairedToOne.TYPE, A_PairedToOne.TYPE}; |
17 |
20 |
|
private static final AttributeType[] BRIDGE_TYPES = new AttributeType[]{A_VariableBridgeToOneLeft.TYPE, A_BridgeToOneLeft.TYPE, A_BridgeToOneRight.TYPE}; |
18 |
21 |
|
|
|
@@ -24,13 +27,12 @@ |
24 |
27 |
|
@Override |
25 |
28 |
|
protected void LLaddImports() |
26 |
29 |
|
{ |
|
30 |
+ |
boolean zHasAttributes = (getAttributes().length != 0); |
27 |
31 |
|
addImports( // |
28 |
|
- |
"org.litesoft.bo.attributes.*", // |
29 |
|
- |
"org.litesoft.bo.change.*", // |
|
32 |
+ |
zHasAttributes ? "org.litesoft.bo.attributes.*" : null, // |
30 |
33 |
|
"org.litesoft.core.util.*", // |
31 |
34 |
|
"org.litesoft.orsup.base.*", // |
32 |
|
- |
"org.litesoft.orsup.otherattributeaccessors.*", // |
33 |
|
- |
!mIsParent ? "org.litesoft.orsup.otherattributeaccessors.nonpublic.*" : null, // |
|
35 |
+ |
zHasAttributes ? "org.litesoft.orsup.otherattributeaccessors.*" : null, // |
34 |
36 |
|
!mIsParent ? "org.litesoft.orsup.selection.*" : null, // |
35 |
37 |
|
"org.litesoft.orsup.transact.*", // |
36 |
38 |
|
null ); |
|
@@ -39,14 +41,15 @@ |
39 |
41 |
|
@Override |
40 |
42 |
|
protected void LLaddClassDefinition() |
41 |
43 |
|
{ |
|
44 |
+ |
String[] zImplements = (getAttributes().length != 0) ? IMPLIMENTS_HAS_ATTRIBUTES : null; |
42 |
45 |
|
makeClassAbstract(); |
43 |
46 |
|
if ( mIsParent ) |
44 |
47 |
|
{ |
45 |
|
- |
addClassDefinition( mClassName + "<T extends " + mObjectName + ">", getExtends( "org.litesoft.orsup.nonpublic.PersistentObjectImpl" ) + "<T>" ); |
|
48 |
+ |
addClassDefinition( mClassName + "<T extends " + mObjectName + ">", getExtends( "org.litesoft.orsup.nonpublic.PersistentObjectImpl" ) + "<T>", zImplements ); |
46 |
49 |
|
} |
47 |
50 |
|
else |
48 |
51 |
|
{ |
49 |
|
- |
addClassDefinition( mClassName, getExtends( "org.litesoft.orsup.nonpublic.PersistentObjectImpl" ) + "<" + mObjectName + ">" ); |
|
52 |
+ |
addClassDefinition( mClassName, getExtends( "org.litesoft.orsup.nonpublic.PersistentObjectImpl" ) + "<" + mObjectName + ">", zImplements ); |
50 |
53 |
|
} |
51 |
54 |
|
} |
52 |
55 |
|
|