You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/08/11 07:54:39 UTC
[02/18] cayenne git commit: CAY-2330 Field based data objects
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java
index b2ce235..fd8c22a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java
@@ -1,6 +1,10 @@
package org.apache.cayenne.testdo.soft_delete.auto;
-import org.apache.cayenne.CayenneDataObject;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
/**
@@ -9,7 +13,7 @@ import org.apache.cayenne.exp.Property;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _SoftDelete extends CayenneDataObject {
+public abstract class _SoftDelete extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -18,20 +22,86 @@ public abstract class _SoftDelete extends CayenneDataObject {
public static final Property<Boolean> DELETED = Property.create("deleted", Boolean.class);
public static final Property<String> NAME = Property.create("name", String.class);
+ protected Boolean deleted;
+ protected String name;
+
+
public void setDeleted(Boolean deleted) {
- writeProperty("deleted", deleted);
+ beforePropertyWrite("deleted", this.deleted, deleted);
+ this.deleted = deleted;
}
+
public Boolean getDeleted() {
- return (Boolean)readProperty("deleted");
+ beforePropertyRead("deleted");
+ return deleted;
}
public void setName(String name) {
- writeProperty("name", name);
+ beforePropertyWrite("name", this.name, name);
+ this.name = name;
}
+
public String getName() {
- return (String)readProperty("name");
+ beforePropertyRead("name");
+ return name;
}
- protected abstract void onPrePersist();
+protected abstract void onPrePersist();
+
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "deleted":
+ return this.deleted;
+ case "name":
+ return this.name;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "deleted":
+ this.deleted = (Boolean)val;
+ break;
+ case "name":
+ this.name = (String)val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(deleted);
+ out.writeObject(name);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ deleted = (Boolean)in.readObject();
+ name = (String)in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java
index 2f660af..50fcda0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java
@@ -1,6 +1,10 @@
package org.apache.cayenne.testdo.table_primitives.auto;
-import org.apache.cayenne.CayenneDataObject;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
/**
@@ -9,7 +13,7 @@ import org.apache.cayenne.exp.Property;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _TablePrimitives extends CayenneDataObject {
+public abstract class _TablePrimitives extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -18,20 +22,84 @@ public abstract class _TablePrimitives extends CayenneDataObject {
public static final Property<Boolean> BOOLEAN_COLUMN = Property.create("booleanColumn", Boolean.class);
public static final Property<Integer> INT_COLUMN = Property.create("intColumn", Integer.class);
+ protected boolean booleanColumn;
+ protected int intColumn;
+
+
public void setBooleanColumn(boolean booleanColumn) {
- writeProperty("booleanColumn", booleanColumn);
+ beforePropertyWrite("booleanColumn", this.booleanColumn, booleanColumn);
+ this.booleanColumn = booleanColumn;
}
+
public boolean isBooleanColumn() {
- Boolean value = (Boolean)readProperty("booleanColumn");
- return (value != null) ? value.booleanValue() : false;
+ beforePropertyRead("booleanColumn");
+ return booleanColumn;
}
public void setIntColumn(int intColumn) {
- writeProperty("intColumn", intColumn);
+ beforePropertyWrite("intColumn", this.intColumn, intColumn);
+ this.intColumn = intColumn;
}
+
public int getIntColumn() {
- Object value = readProperty("intColumn");
- return (value != null) ? (Integer) value : 0;
+ beforePropertyRead("intColumn");
+ return intColumn;
+ }
+
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "booleanColumn":
+ return this.booleanColumn;
+ case "intColumn":
+ return this.intColumn;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "booleanColumn":
+ this.booleanColumn = val == null ? false : (Boolean)val;
+ break;
+ case "intColumn":
+ this.intColumn = val == null ? 0 : (Integer)val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeBoolean(booleanColumn);
+ out.writeInt(intColumn);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ booleanColumn = in.readBoolean();
+ intColumn = in.readInt();
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtGroup.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtGroup.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtGroup.java
index bcd5a10..7d5ab3a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtGroup.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtGroup.java
@@ -1,8 +1,11 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.util.List;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.ArtGroup;
import org.apache.cayenne.testdo.testmap.Artist;
@@ -13,7 +16,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _ArtGroup extends CayenneDataObject {
+public abstract class _ArtGroup extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -24,37 +27,48 @@ public abstract class _ArtGroup extends CayenneDataObject {
public static final Property<List<ArtGroup>> CHILD_GROUPS_ARRAY = Property.create("childGroupsArray", List.class);
public static final Property<ArtGroup> TO_PARENT_GROUP = Property.create("toParentGroup", ArtGroup.class);
+ protected String name;
+
+ protected Object artistArray;
+ protected Object childGroupsArray;
+ protected Object toParentGroup;
+
public void setName(String name) {
- writeProperty("name", name);
+ beforePropertyWrite("name", this.name, name);
+ this.name = name;
}
+
public String getName() {
- return (String)readProperty("name");
+ beforePropertyRead("name");
+ return name;
}
public void addToArtistArray(Artist obj) {
addToManyTarget("artistArray", obj, true);
}
+
public void removeFromArtistArray(Artist obj) {
removeToManyTarget("artistArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<Artist> getArtistArray() {
return (List<Artist>)readProperty("artistArray");
}
-
public void addToChildGroupsArray(ArtGroup obj) {
addToManyTarget("childGroupsArray", obj, true);
}
+
public void removeFromChildGroupsArray(ArtGroup obj) {
removeToManyTarget("childGroupsArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<ArtGroup> getChildGroupsArray() {
return (List<ArtGroup>)readProperty("childGroupsArray");
}
-
public void setToParentGroup(ArtGroup toParentGroup) {
setToOneTarget("toParentGroup", toParentGroup, true);
}
@@ -63,5 +77,74 @@ public abstract class _ArtGroup extends CayenneDataObject {
return (ArtGroup)readProperty("toParentGroup");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "name":
+ return this.name;
+ case "artistArray":
+ return this.artistArray;
+ case "childGroupsArray":
+ return this.childGroupsArray;
+ case "toParentGroup":
+ return this.toParentGroup;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "name":
+ this.name = (String)val;
+ break;
+ case "artistArray":
+ this.artistArray = val;
+ break;
+ case "childGroupsArray":
+ this.childGroupsArray = val;
+ break;
+ case "toParentGroup":
+ this.toParentGroup = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(name);
+ out.writeObject(artistArray);
+ out.writeObject(childGroupsArray);
+ out.writeObject(toParentGroup);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ name = (String)in.readObject();
+ artistArray = in.readObject();
+ childGroupsArray = in.readObject();
+ toParentGroup = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Artist.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Artist.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Artist.java
index 854e6fd..e14eaf5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Artist.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Artist.java
@@ -1,9 +1,12 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.util.Date;
import java.util.List;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.ArtGroup;
import org.apache.cayenne.testdo.testmap.ArtistExhibit;
@@ -15,7 +18,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _Artist extends CayenneDataObject {
+public abstract class _Artist extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -27,54 +30,147 @@ public abstract class _Artist extends CayenneDataObject {
public static final Property<List<ArtGroup>> GROUP_ARRAY = Property.create("groupArray", List.class);
public static final Property<List<Painting>> PAINTING_ARRAY = Property.create("paintingArray", List.class);
+ protected String artistName;
+ protected Date dateOfBirth;
+
+ protected Object artistExhibitArray;
+ protected Object groupArray;
+ protected Object paintingArray;
+
public void setArtistName(String artistName) {
- writeProperty("artistName", artistName);
+ beforePropertyWrite("artistName", this.artistName, artistName);
+ this.artistName = artistName;
}
+
public String getArtistName() {
- return (String)readProperty("artistName");
+ beforePropertyRead("artistName");
+ return artistName;
}
public void setDateOfBirth(Date dateOfBirth) {
- writeProperty("dateOfBirth", dateOfBirth);
+ beforePropertyWrite("dateOfBirth", this.dateOfBirth, dateOfBirth);
+ this.dateOfBirth = dateOfBirth;
}
+
public Date getDateOfBirth() {
- return (Date)readProperty("dateOfBirth");
+ beforePropertyRead("dateOfBirth");
+ return dateOfBirth;
}
public void addToArtistExhibitArray(ArtistExhibit obj) {
addToManyTarget("artistExhibitArray", obj, true);
}
+
public void removeFromArtistExhibitArray(ArtistExhibit obj) {
removeToManyTarget("artistExhibitArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<ArtistExhibit> getArtistExhibitArray() {
return (List<ArtistExhibit>)readProperty("artistExhibitArray");
}
-
public void addToGroupArray(ArtGroup obj) {
addToManyTarget("groupArray", obj, true);
}
+
public void removeFromGroupArray(ArtGroup obj) {
removeToManyTarget("groupArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<ArtGroup> getGroupArray() {
return (List<ArtGroup>)readProperty("groupArray");
}
-
public void addToPaintingArray(Painting obj) {
addToManyTarget("paintingArray", obj, true);
}
+
public void removeFromPaintingArray(Painting obj) {
removeToManyTarget("paintingArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<Painting> getPaintingArray() {
return (List<Painting>)readProperty("paintingArray");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "artistName":
+ return this.artistName;
+ case "dateOfBirth":
+ return this.dateOfBirth;
+ case "artistExhibitArray":
+ return this.artistExhibitArray;
+ case "groupArray":
+ return this.groupArray;
+ case "paintingArray":
+ return this.paintingArray;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "artistName":
+ this.artistName = (String)val;
+ break;
+ case "dateOfBirth":
+ this.dateOfBirth = (Date)val;
+ break;
+ case "artistExhibitArray":
+ this.artistExhibitArray = val;
+ break;
+ case "groupArray":
+ this.groupArray = val;
+ break;
+ case "paintingArray":
+ this.paintingArray = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(artistName);
+ out.writeObject(dateOfBirth);
+ out.writeObject(artistExhibitArray);
+ out.writeObject(groupArray);
+ out.writeObject(paintingArray);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ artistName = (String)in.readObject();
+ dateOfBirth = (Date)in.readObject();
+ artistExhibitArray = in.readObject();
+ groupArray = in.readObject();
+ paintingArray = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistCallback.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistCallback.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistCallback.java
index 14caad5..c050e37 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistCallback.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistCallback.java
@@ -1,8 +1,11 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.util.Date;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
/**
@@ -11,7 +14,7 @@ import org.apache.cayenne.exp.Property;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _ArtistCallback extends CayenneDataObject {
+public abstract class _ArtistCallback extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -20,32 +23,98 @@ public abstract class _ArtistCallback extends CayenneDataObject {
public static final Property<String> ARTIST_NAME = Property.create("artistName", String.class);
public static final Property<Date> DATE_OF_BIRTH = Property.create("dateOfBirth", Date.class);
+ protected String artistName;
+ protected Date dateOfBirth;
+
+
public void setArtistName(String artistName) {
- writeProperty("artistName", artistName);
+ beforePropertyWrite("artistName", this.artistName, artistName);
+ this.artistName = artistName;
}
+
public String getArtistName() {
- return (String)readProperty("artistName");
+ beforePropertyRead("artistName");
+ return artistName;
}
public void setDateOfBirth(Date dateOfBirth) {
- writeProperty("dateOfBirth", dateOfBirth);
+ beforePropertyWrite("dateOfBirth", this.dateOfBirth, dateOfBirth);
+ this.dateOfBirth = dateOfBirth;
}
+
public Date getDateOfBirth() {
- return (Date)readProperty("dateOfBirth");
+ beforePropertyRead("dateOfBirth");
+ return dateOfBirth;
}
- protected abstract void prePersistEntityObjEntity();
+protected abstract void prePersistEntityObjEntity();
+
+protected abstract void preRemoveEntityObjEntity();
- protected abstract void preRemoveEntityObjEntity();
+protected abstract void preUpdateEntityObjEntity();
- protected abstract void preUpdateEntityObjEntity();
+protected abstract void postPersistEntityObjEntity();
- protected abstract void postPersistEntityObjEntity();
+protected abstract void postRemoveEntityObjEntity();
- protected abstract void postRemoveEntityObjEntity();
+protected abstract void postUpdateEntityObjEntity();
- protected abstract void postUpdateEntityObjEntity();
+protected abstract void postLoadEntityObjEntity();
- protected abstract void postLoadEntityObjEntity();
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "artistName":
+ return this.artistName;
+ case "dateOfBirth":
+ return this.dateOfBirth;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "artistName":
+ this.artistName = (String)val;
+ break;
+ case "dateOfBirth":
+ this.dateOfBirth = (Date)val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(artistName);
+ out.writeObject(dateOfBirth);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ artistName = (String)in.readObject();
+ dateOfBirth = (Date)in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistExhibit.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistExhibit.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistExhibit.java
index 73a528a..6e5be90 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistExhibit.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArtistExhibit.java
@@ -1,6 +1,10 @@
package org.apache.cayenne.testdo.testmap.auto;
-import org.apache.cayenne.CayenneDataObject;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Exhibit;
@@ -11,7 +15,7 @@ import org.apache.cayenne.testdo.testmap.Exhibit;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _ArtistExhibit extends CayenneDataObject {
+public abstract class _ArtistExhibit extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -21,6 +25,10 @@ public abstract class _ArtistExhibit extends CayenneDataObject {
public static final Property<Artist> TO_ARTIST = Property.create("toArtist", Artist.class);
public static final Property<Exhibit> TO_EXHIBIT = Property.create("toExhibit", Exhibit.class);
+
+ protected Object toArtist;
+ protected Object toExhibit;
+
public void setToArtist(Artist toArtist) {
setToOneTarget("toArtist", toArtist, true);
}
@@ -29,7 +37,6 @@ public abstract class _ArtistExhibit extends CayenneDataObject {
return (Artist)readProperty("toArtist");
}
-
public void setToExhibit(Exhibit toExhibit) {
setToOneTarget("toExhibit", toExhibit, true);
}
@@ -38,5 +45,60 @@ public abstract class _ArtistExhibit extends CayenneDataObject {
return (Exhibit)readProperty("toExhibit");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "toArtist":
+ return this.toArtist;
+ case "toExhibit":
+ return this.toExhibit;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "toArtist":
+ this.toArtist = val;
+ break;
+ case "toExhibit":
+ this.toExhibit = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(toArtist);
+ out.writeObject(toExhibit);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ toArtist = in.readObject();
+ toExhibit = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPainting.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPainting.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPainting.java
index 3263470..ddf4c00 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPainting.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPainting.java
@@ -1,8 +1,11 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.math.BigDecimal;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Gallery;
@@ -14,7 +17,7 @@ import org.apache.cayenne.testdo.testmap.PaintingInfo;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _CompoundPainting extends CayenneDataObject {
+public abstract class _CompoundPainting extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -29,39 +32,64 @@ public abstract class _CompoundPainting extends CayenneDataObject {
public static final Property<Gallery> TO_GALLERY = Property.create("toGallery", Gallery.class);
public static final Property<PaintingInfo> TO_PAINTING_INFO = Property.create("toPaintingInfo", PaintingInfo.class);
+ protected String artistName;
+ protected BigDecimal estimatedPrice;
+ protected String galleryName;
+ protected String paintingTitle;
+ protected String textReview;
+
+ protected Object toArtist;
+ protected Object toGallery;
+ protected Object toPaintingInfo;
+
public void setArtistName(String artistName) {
- writeProperty("artistName", artistName);
+ beforePropertyWrite("artistName", this.artistName, artistName);
+ this.artistName = artistName;
}
+
public String getArtistName() {
- return (String)readProperty("artistName");
+ beforePropertyRead("artistName");
+ return artistName;
}
public void setEstimatedPrice(BigDecimal estimatedPrice) {
- writeProperty("estimatedPrice", estimatedPrice);
+ beforePropertyWrite("estimatedPrice", this.estimatedPrice, estimatedPrice);
+ this.estimatedPrice = estimatedPrice;
}
+
public BigDecimal getEstimatedPrice() {
- return (BigDecimal)readProperty("estimatedPrice");
+ beforePropertyRead("estimatedPrice");
+ return estimatedPrice;
}
public void setGalleryName(String galleryName) {
- writeProperty("galleryName", galleryName);
+ beforePropertyWrite("galleryName", this.galleryName, galleryName);
+ this.galleryName = galleryName;
}
+
public String getGalleryName() {
- return (String)readProperty("galleryName");
+ beforePropertyRead("galleryName");
+ return galleryName;
}
public void setPaintingTitle(String paintingTitle) {
- writeProperty("paintingTitle", paintingTitle);
+ beforePropertyWrite("paintingTitle", this.paintingTitle, paintingTitle);
+ this.paintingTitle = paintingTitle;
}
+
public String getPaintingTitle() {
- return (String)readProperty("paintingTitle");
+ beforePropertyRead("paintingTitle");
+ return paintingTitle;
}
public void setTextReview(String textReview) {
- writeProperty("textReview", textReview);
+ beforePropertyWrite("textReview", this.textReview, textReview);
+ this.textReview = textReview;
}
+
public String getTextReview() {
- return (String)readProperty("textReview");
+ beforePropertyRead("textReview");
+ return textReview;
}
public void setToArtist(Artist toArtist) {
@@ -72,7 +100,6 @@ public abstract class _CompoundPainting extends CayenneDataObject {
return (Artist)readProperty("toArtist");
}
-
public void setToGallery(Gallery toGallery) {
setToOneTarget("toGallery", toGallery, true);
}
@@ -81,7 +108,6 @@ public abstract class _CompoundPainting extends CayenneDataObject {
return (Gallery)readProperty("toGallery");
}
-
public void setToPaintingInfo(PaintingInfo toPaintingInfo) {
setToOneTarget("toPaintingInfo", toPaintingInfo, true);
}
@@ -90,5 +116,102 @@ public abstract class _CompoundPainting extends CayenneDataObject {
return (PaintingInfo)readProperty("toPaintingInfo");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "artistName":
+ return this.artistName;
+ case "estimatedPrice":
+ return this.estimatedPrice;
+ case "galleryName":
+ return this.galleryName;
+ case "paintingTitle":
+ return this.paintingTitle;
+ case "textReview":
+ return this.textReview;
+ case "toArtist":
+ return this.toArtist;
+ case "toGallery":
+ return this.toGallery;
+ case "toPaintingInfo":
+ return this.toPaintingInfo;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "artistName":
+ this.artistName = (String)val;
+ break;
+ case "estimatedPrice":
+ this.estimatedPrice = (BigDecimal)val;
+ break;
+ case "galleryName":
+ this.galleryName = (String)val;
+ break;
+ case "paintingTitle":
+ this.paintingTitle = (String)val;
+ break;
+ case "textReview":
+ this.textReview = (String)val;
+ break;
+ case "toArtist":
+ this.toArtist = val;
+ break;
+ case "toGallery":
+ this.toGallery = val;
+ break;
+ case "toPaintingInfo":
+ this.toPaintingInfo = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(artistName);
+ out.writeObject(estimatedPrice);
+ out.writeObject(galleryName);
+ out.writeObject(paintingTitle);
+ out.writeObject(textReview);
+ out.writeObject(toArtist);
+ out.writeObject(toGallery);
+ out.writeObject(toPaintingInfo);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ artistName = (String)in.readObject();
+ estimatedPrice = (BigDecimal)in.readObject();
+ galleryName = (String)in.readObject();
+ paintingTitle = (String)in.readObject();
+ textReview = (String)in.readObject();
+ toArtist = in.readObject();
+ toGallery = in.readObject();
+ toPaintingInfo = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPaintingLongNames.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPaintingLongNames.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPaintingLongNames.java
index 62825dd..fd372f1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPaintingLongNames.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPaintingLongNames.java
@@ -1,8 +1,11 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.math.BigDecimal;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Gallery;
@@ -15,7 +18,7 @@ import org.apache.cayenne.testdo.testmap.ROArtist;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _CompoundPaintingLongNames extends CayenneDataObject {
+public abstract class _CompoundPaintingLongNames extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -32,46 +35,76 @@ public abstract class _CompoundPaintingLongNames extends CayenneDataObject {
public static final Property<Gallery> TO_GALLERY = Property.create("toGallery", Gallery.class);
public static final Property<PaintingInfo> TO_PAINTING_INFO = Property.create("toPaintingInfo", PaintingInfo.class);
+ protected String artistLongName;
+ protected BigDecimal estimatedPrice;
+ protected String galleryLongName;
+ protected String paintingDescription;
+ protected String paintingTitle;
+ protected String textLongReview;
+
+ protected Object toArtist;
+ protected Object toArtist1;
+ protected Object toGallery;
+ protected Object toPaintingInfo;
+
public void setArtistLongName(String artistLongName) {
- writeProperty("artistLongName", artistLongName);
+ beforePropertyWrite("artistLongName", this.artistLongName, artistLongName);
+ this.artistLongName = artistLongName;
}
+
public String getArtistLongName() {
- return (String)readProperty("artistLongName");
+ beforePropertyRead("artistLongName");
+ return artistLongName;
}
public void setEstimatedPrice(BigDecimal estimatedPrice) {
- writeProperty("estimatedPrice", estimatedPrice);
+ beforePropertyWrite("estimatedPrice", this.estimatedPrice, estimatedPrice);
+ this.estimatedPrice = estimatedPrice;
}
+
public BigDecimal getEstimatedPrice() {
- return (BigDecimal)readProperty("estimatedPrice");
+ beforePropertyRead("estimatedPrice");
+ return estimatedPrice;
}
public void setGalleryLongName(String galleryLongName) {
- writeProperty("galleryLongName", galleryLongName);
+ beforePropertyWrite("galleryLongName", this.galleryLongName, galleryLongName);
+ this.galleryLongName = galleryLongName;
}
+
public String getGalleryLongName() {
- return (String)readProperty("galleryLongName");
+ beforePropertyRead("galleryLongName");
+ return galleryLongName;
}
public void setPaintingDescription(String paintingDescription) {
- writeProperty("paintingDescription", paintingDescription);
+ beforePropertyWrite("paintingDescription", this.paintingDescription, paintingDescription);
+ this.paintingDescription = paintingDescription;
}
+
public String getPaintingDescription() {
- return (String)readProperty("paintingDescription");
+ beforePropertyRead("paintingDescription");
+ return paintingDescription;
}
public void setPaintingTitle(String paintingTitle) {
- writeProperty("paintingTitle", paintingTitle);
+ beforePropertyWrite("paintingTitle", this.paintingTitle, paintingTitle);
+ this.paintingTitle = paintingTitle;
}
+
public String getPaintingTitle() {
- return (String)readProperty("paintingTitle");
+ beforePropertyRead("paintingTitle");
+ return paintingTitle;
}
public void setTextLongReview(String textLongReview) {
- writeProperty("textLongReview", textLongReview);
+ beforePropertyWrite("textLongReview", this.textLongReview, textLongReview);
+ this.textLongReview = textLongReview;
}
+
public String getTextLongReview() {
- return (String)readProperty("textLongReview");
+ beforePropertyRead("textLongReview");
+ return textLongReview;
}
public void setToArtist(Artist toArtist) {
@@ -82,7 +115,6 @@ public abstract class _CompoundPaintingLongNames extends CayenneDataObject {
return (Artist)readProperty("toArtist");
}
-
public void setToArtist1(ROArtist toArtist1) {
setToOneTarget("toArtist1", toArtist1, true);
}
@@ -91,7 +123,6 @@ public abstract class _CompoundPaintingLongNames extends CayenneDataObject {
return (ROArtist)readProperty("toArtist1");
}
-
public void setToGallery(Gallery toGallery) {
setToOneTarget("toGallery", toGallery, true);
}
@@ -100,7 +131,6 @@ public abstract class _CompoundPaintingLongNames extends CayenneDataObject {
return (Gallery)readProperty("toGallery");
}
-
public void setToPaintingInfo(PaintingInfo toPaintingInfo) {
setToOneTarget("toPaintingInfo", toPaintingInfo, true);
}
@@ -109,5 +139,116 @@ public abstract class _CompoundPaintingLongNames extends CayenneDataObject {
return (PaintingInfo)readProperty("toPaintingInfo");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "artistLongName":
+ return this.artistLongName;
+ case "estimatedPrice":
+ return this.estimatedPrice;
+ case "galleryLongName":
+ return this.galleryLongName;
+ case "paintingDescription":
+ return this.paintingDescription;
+ case "paintingTitle":
+ return this.paintingTitle;
+ case "textLongReview":
+ return this.textLongReview;
+ case "toArtist":
+ return this.toArtist;
+ case "toArtist1":
+ return this.toArtist1;
+ case "toGallery":
+ return this.toGallery;
+ case "toPaintingInfo":
+ return this.toPaintingInfo;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "artistLongName":
+ this.artistLongName = (String)val;
+ break;
+ case "estimatedPrice":
+ this.estimatedPrice = (BigDecimal)val;
+ break;
+ case "galleryLongName":
+ this.galleryLongName = (String)val;
+ break;
+ case "paintingDescription":
+ this.paintingDescription = (String)val;
+ break;
+ case "paintingTitle":
+ this.paintingTitle = (String)val;
+ break;
+ case "textLongReview":
+ this.textLongReview = (String)val;
+ break;
+ case "toArtist":
+ this.toArtist = val;
+ break;
+ case "toArtist1":
+ this.toArtist1 = val;
+ break;
+ case "toGallery":
+ this.toGallery = val;
+ break;
+ case "toPaintingInfo":
+ this.toPaintingInfo = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(artistLongName);
+ out.writeObject(estimatedPrice);
+ out.writeObject(galleryLongName);
+ out.writeObject(paintingDescription);
+ out.writeObject(paintingTitle);
+ out.writeObject(textLongReview);
+ out.writeObject(toArtist);
+ out.writeObject(toArtist1);
+ out.writeObject(toGallery);
+ out.writeObject(toPaintingInfo);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ artistLongName = (String)in.readObject();
+ estimatedPrice = (BigDecimal)in.readObject();
+ galleryLongName = (String)in.readObject();
+ paintingDescription = (String)in.readObject();
+ paintingTitle = (String)in.readObject();
+ textLongReview = (String)in.readObject();
+ toArtist = in.readObject();
+ toArtist1 = in.readObject();
+ toGallery = in.readObject();
+ toPaintingInfo = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Exhibit.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Exhibit.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Exhibit.java
index 00a8b29..e77fc16 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Exhibit.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Exhibit.java
@@ -1,9 +1,12 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.util.Date;
import java.util.List;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.ArtistExhibit;
import org.apache.cayenne.testdo.testmap.Gallery;
@@ -14,7 +17,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _Exhibit extends CayenneDataObject {
+public abstract class _Exhibit extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -25,32 +28,45 @@ public abstract class _Exhibit extends CayenneDataObject {
public static final Property<List<ArtistExhibit>> ARTIST_EXHIBIT_ARRAY = Property.create("artistExhibitArray", List.class);
public static final Property<Gallery> TO_GALLERY = Property.create("toGallery", Gallery.class);
+ protected Date closingDate;
+ protected Date openingDate;
+
+ protected Object artistExhibitArray;
+ protected Object toGallery;
+
public void setClosingDate(Date closingDate) {
- writeProperty("closingDate", closingDate);
+ beforePropertyWrite("closingDate", this.closingDate, closingDate);
+ this.closingDate = closingDate;
}
+
public Date getClosingDate() {
- return (Date)readProperty("closingDate");
+ beforePropertyRead("closingDate");
+ return closingDate;
}
public void setOpeningDate(Date openingDate) {
- writeProperty("openingDate", openingDate);
+ beforePropertyWrite("openingDate", this.openingDate, openingDate);
+ this.openingDate = openingDate;
}
+
public Date getOpeningDate() {
- return (Date)readProperty("openingDate");
+ beforePropertyRead("openingDate");
+ return openingDate;
}
public void addToArtistExhibitArray(ArtistExhibit obj) {
addToManyTarget("artistExhibitArray", obj, true);
}
+
public void removeFromArtistExhibitArray(ArtistExhibit obj) {
removeToManyTarget("artistExhibitArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<ArtistExhibit> getArtistExhibitArray() {
return (List<ArtistExhibit>)readProperty("artistExhibitArray");
}
-
public void setToGallery(Gallery toGallery) {
setToOneTarget("toGallery", toGallery, true);
}
@@ -59,5 +75,74 @@ public abstract class _Exhibit extends CayenneDataObject {
return (Gallery)readProperty("toGallery");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "closingDate":
+ return this.closingDate;
+ case "openingDate":
+ return this.openingDate;
+ case "artistExhibitArray":
+ return this.artistExhibitArray;
+ case "toGallery":
+ return this.toGallery;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "closingDate":
+ this.closingDate = (Date)val;
+ break;
+ case "openingDate":
+ this.openingDate = (Date)val;
+ break;
+ case "artistExhibitArray":
+ this.artistExhibitArray = val;
+ break;
+ case "toGallery":
+ this.toGallery = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(closingDate);
+ out.writeObject(openingDate);
+ out.writeObject(artistExhibitArray);
+ out.writeObject(toGallery);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ closingDate = (Date)in.readObject();
+ openingDate = (Date)in.readObject();
+ artistExhibitArray = in.readObject();
+ toGallery = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Gallery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Gallery.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Gallery.java
index 73bf5a2..f462a9b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Gallery.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Gallery.java
@@ -1,8 +1,11 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.util.List;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Exhibit;
import org.apache.cayenne.testdo.testmap.Painting;
@@ -13,7 +16,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _Gallery extends CayenneDataObject {
+public abstract class _Gallery extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -23,35 +26,108 @@ public abstract class _Gallery extends CayenneDataObject {
public static final Property<List<Exhibit>> EXHIBIT_ARRAY = Property.create("exhibitArray", List.class);
public static final Property<List<Painting>> PAINTING_ARRAY = Property.create("paintingArray", List.class);
+ protected String galleryName;
+
+ protected Object exhibitArray;
+ protected Object paintingArray;
+
public void setGalleryName(String galleryName) {
- writeProperty("galleryName", galleryName);
+ beforePropertyWrite("galleryName", this.galleryName, galleryName);
+ this.galleryName = galleryName;
}
+
public String getGalleryName() {
- return (String)readProperty("galleryName");
+ beforePropertyRead("galleryName");
+ return galleryName;
}
public void addToExhibitArray(Exhibit obj) {
addToManyTarget("exhibitArray", obj, true);
}
+
public void removeFromExhibitArray(Exhibit obj) {
removeToManyTarget("exhibitArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<Exhibit> getExhibitArray() {
return (List<Exhibit>)readProperty("exhibitArray");
}
-
public void addToPaintingArray(Painting obj) {
addToManyTarget("paintingArray", obj, true);
}
+
public void removeFromPaintingArray(Painting obj) {
removeToManyTarget("paintingArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<Painting> getPaintingArray() {
return (List<Painting>)readProperty("paintingArray");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "galleryName":
+ return this.galleryName;
+ case "exhibitArray":
+ return this.exhibitArray;
+ case "paintingArray":
+ return this.paintingArray;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "galleryName":
+ this.galleryName = (String)val;
+ break;
+ case "exhibitArray":
+ this.exhibitArray = val;
+ break;
+ case "paintingArray":
+ this.paintingArray = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(galleryName);
+ out.writeObject(exhibitArray);
+ out.writeObject(paintingArray);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ galleryName = (String)in.readObject();
+ exhibitArray = in.readObject();
+ paintingArray = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulGeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulGeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulGeneratedColumnTestEntity.java
index 77ff7bf..274a141 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulGeneratedColumnTestEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulGeneratedColumnTestEntity.java
@@ -1,6 +1,10 @@
package org.apache.cayenne.testdo.testmap.auto;
-import org.apache.cayenne.CayenneDataObject;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
/**
@@ -9,7 +13,7 @@ import org.apache.cayenne.exp.Property;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _MeaningfulGeneratedColumnTestEntity extends CayenneDataObject {
+public abstract class _MeaningfulGeneratedColumnTestEntity extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -18,18 +22,84 @@ public abstract class _MeaningfulGeneratedColumnTestEntity extends CayenneDataOb
public static final Property<Integer> GENERATED_COLUMN = Property.create("generatedColumn", Integer.class);
public static final Property<String> NAME = Property.create("name", String.class);
+ protected Integer generatedColumn;
+ protected String name;
+
+
public void setGeneratedColumn(Integer generatedColumn) {
- writeProperty("generatedColumn", generatedColumn);
+ beforePropertyWrite("generatedColumn", this.generatedColumn, generatedColumn);
+ this.generatedColumn = generatedColumn;
}
+
public Integer getGeneratedColumn() {
- return (Integer)readProperty("generatedColumn");
+ beforePropertyRead("generatedColumn");
+ return generatedColumn;
}
public void setName(String name) {
- writeProperty("name", name);
+ beforePropertyWrite("name", this.name, name);
+ this.name = name;
}
+
public String getName() {
- return (String)readProperty("name");
+ beforePropertyRead("name");
+ return name;
+ }
+
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "generatedColumn":
+ return this.generatedColumn;
+ case "name":
+ return this.name;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "generatedColumn":
+ this.generatedColumn = (Integer)val;
+ break;
+ case "name":
+ this.name = (String)val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(generatedColumn);
+ out.writeObject(name);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ generatedColumn = (Integer)in.readObject();
+ name = (String)in.readObject();
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NullTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NullTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NullTestEntity.java
index 4e371f7..9f84715 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NullTestEntity.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NullTestEntity.java
@@ -1,6 +1,10 @@
package org.apache.cayenne.testdo.testmap.auto;
-import org.apache.cayenne.CayenneDataObject;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
/**
@@ -9,7 +13,7 @@ import org.apache.cayenne.exp.Property;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _NullTestEntity extends CayenneDataObject {
+public abstract class _NullTestEntity extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -17,11 +21,66 @@ public abstract class _NullTestEntity extends CayenneDataObject {
public static final Property<String> NAME = Property.create("name", String.class);
+ protected String name;
+
+
public void setName(String name) {
- writeProperty("name", name);
+ beforePropertyWrite("name", this.name, name);
+ this.name = name;
}
+
public String getName() {
- return (String)readProperty("name");
+ beforePropertyRead("name");
+ return name;
+ }
+
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "name":
+ return this.name;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "name":
+ this.name = (String)val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(name);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ name = (String)in.readObject();
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting.java
index a0c1810..b44e76c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting.java
@@ -1,5 +1,8 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.math.BigDecimal;
import org.apache.cayenne.exp.Property;
@@ -27,25 +30,42 @@ public abstract class _Painting extends ArtDataObject {
public static final Property<Gallery> TO_GALLERY = Property.create("toGallery", Gallery.class);
public static final Property<PaintingInfo> TO_PAINTING_INFO = Property.create("toPaintingInfo", PaintingInfo.class);
+ protected BigDecimal estimatedPrice;
+ protected String paintingDescription;
+ protected String paintingTitle;
+
+ protected Object toArtist;
+ protected Object toGallery;
+ protected Object toPaintingInfo;
+
public void setEstimatedPrice(BigDecimal estimatedPrice) {
- writeProperty("estimatedPrice", estimatedPrice);
+ beforePropertyWrite("estimatedPrice", this.estimatedPrice, estimatedPrice);
+ this.estimatedPrice = estimatedPrice;
}
+
public BigDecimal getEstimatedPrice() {
- return (BigDecimal)readProperty("estimatedPrice");
+ beforePropertyRead("estimatedPrice");
+ return estimatedPrice;
}
public void setPaintingDescription(String paintingDescription) {
- writeProperty("paintingDescription", paintingDescription);
+ beforePropertyWrite("paintingDescription", this.paintingDescription, paintingDescription);
+ this.paintingDescription = paintingDescription;
}
+
public String getPaintingDescription() {
- return (String)readProperty("paintingDescription");
+ beforePropertyRead("paintingDescription");
+ return paintingDescription;
}
public void setPaintingTitle(String paintingTitle) {
- writeProperty("paintingTitle", paintingTitle);
+ beforePropertyWrite("paintingTitle", this.paintingTitle, paintingTitle);
+ this.paintingTitle = paintingTitle;
}
+
public String getPaintingTitle() {
- return (String)readProperty("paintingTitle");
+ beforePropertyRead("paintingTitle");
+ return paintingTitle;
}
public void setToArtist(Artist toArtist) {
@@ -56,7 +76,6 @@ public abstract class _Painting extends ArtDataObject {
return (Artist)readProperty("toArtist");
}
-
public void setToGallery(Gallery toGallery) {
setToOneTarget("toGallery", toGallery, true);
}
@@ -65,7 +84,6 @@ public abstract class _Painting extends ArtDataObject {
return (Gallery)readProperty("toGallery");
}
-
public void setToPaintingInfo(PaintingInfo toPaintingInfo) {
setToOneTarget("toPaintingInfo", toPaintingInfo, true);
}
@@ -74,5 +92,88 @@ public abstract class _Painting extends ArtDataObject {
return (PaintingInfo)readProperty("toPaintingInfo");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "estimatedPrice":
+ return this.estimatedPrice;
+ case "paintingDescription":
+ return this.paintingDescription;
+ case "paintingTitle":
+ return this.paintingTitle;
+ case "toArtist":
+ return this.toArtist;
+ case "toGallery":
+ return this.toGallery;
+ case "toPaintingInfo":
+ return this.toPaintingInfo;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "estimatedPrice":
+ this.estimatedPrice = (BigDecimal)val;
+ break;
+ case "paintingDescription":
+ this.paintingDescription = (String)val;
+ break;
+ case "paintingTitle":
+ this.paintingTitle = (String)val;
+ break;
+ case "toArtist":
+ this.toArtist = val;
+ break;
+ case "toGallery":
+ this.toGallery = val;
+ break;
+ case "toPaintingInfo":
+ this.toPaintingInfo = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(estimatedPrice);
+ out.writeObject(paintingDescription);
+ out.writeObject(paintingTitle);
+ out.writeObject(toArtist);
+ out.writeObject(toGallery);
+ out.writeObject(toPaintingInfo);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ estimatedPrice = (BigDecimal)in.readObject();
+ paintingDescription = (String)in.readObject();
+ paintingTitle = (String)in.readObject();
+ toArtist = in.readObject();
+ toGallery = in.readObject();
+ toPaintingInfo = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting1.java
index 797581d..baa0ad9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Painting1.java
@@ -1,8 +1,11 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.math.BigDecimal;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Artist;
@@ -12,7 +15,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _Painting1 extends CayenneDataObject {
+public abstract class _Painting1 extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -22,18 +25,29 @@ public abstract class _Painting1 extends CayenneDataObject {
public static final Property<String> PAINTING_TITLE = Property.create("paintingTitle", String.class);
public static final Property<Artist> TO_ARTIST = Property.create("toArtist", Artist.class);
+ protected BigDecimal estimatedPrice;
+ protected String paintingTitle;
+
+ protected Object toArtist;
+
public void setEstimatedPrice(BigDecimal estimatedPrice) {
- writeProperty("estimatedPrice", estimatedPrice);
+ beforePropertyWrite("estimatedPrice", this.estimatedPrice, estimatedPrice);
+ this.estimatedPrice = estimatedPrice;
}
+
public BigDecimal getEstimatedPrice() {
- return (BigDecimal)readProperty("estimatedPrice");
+ beforePropertyRead("estimatedPrice");
+ return estimatedPrice;
}
public void setPaintingTitle(String paintingTitle) {
- writeProperty("paintingTitle", paintingTitle);
+ beforePropertyWrite("paintingTitle", this.paintingTitle, paintingTitle);
+ this.paintingTitle = paintingTitle;
}
+
public String getPaintingTitle() {
- return (String)readProperty("paintingTitle");
+ beforePropertyRead("paintingTitle");
+ return paintingTitle;
}
public void setToArtist(Artist toArtist) {
@@ -44,5 +58,67 @@ public abstract class _Painting1 extends CayenneDataObject {
return (Artist)readProperty("toArtist");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "estimatedPrice":
+ return this.estimatedPrice;
+ case "paintingTitle":
+ return this.paintingTitle;
+ case "toArtist":
+ return this.toArtist;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "estimatedPrice":
+ this.estimatedPrice = (BigDecimal)val;
+ break;
+ case "paintingTitle":
+ this.paintingTitle = (String)val;
+ break;
+ case "toArtist":
+ this.toArtist = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(estimatedPrice);
+ out.writeObject(paintingTitle);
+ out.writeObject(toArtist);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ estimatedPrice = (BigDecimal)in.readObject();
+ paintingTitle = (String)in.readObject();
+ toArtist = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PaintingInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PaintingInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PaintingInfo.java
index 81930b6..4fe1805 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PaintingInfo.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PaintingInfo.java
@@ -1,6 +1,10 @@
package org.apache.cayenne.testdo.testmap.auto;
-import org.apache.cayenne.CayenneDataObject;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Painting;
@@ -10,7 +14,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _PaintingInfo extends CayenneDataObject {
+public abstract class _PaintingInfo extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -20,18 +24,29 @@ public abstract class _PaintingInfo extends CayenneDataObject {
public static final Property<String> TEXT_REVIEW = Property.create("textReview", String.class);
public static final Property<Painting> PAINTING = Property.create("painting", Painting.class);
+ protected byte[] imageBlob;
+ protected String textReview;
+
+ protected Object painting;
+
public void setImageBlob(byte[] imageBlob) {
- writeProperty("imageBlob", imageBlob);
+ beforePropertyWrite("imageBlob", this.imageBlob, imageBlob);
+ this.imageBlob = imageBlob;
}
+
public byte[] getImageBlob() {
- return (byte[])readProperty("imageBlob");
+ beforePropertyRead("imageBlob");
+ return imageBlob;
}
public void setTextReview(String textReview) {
- writeProperty("textReview", textReview);
+ beforePropertyWrite("textReview", this.textReview, textReview);
+ this.textReview = textReview;
}
+
public String getTextReview() {
- return (String)readProperty("textReview");
+ beforePropertyRead("textReview");
+ return textReview;
}
public void setPainting(Painting painting) {
@@ -42,5 +57,67 @@ public abstract class _PaintingInfo extends CayenneDataObject {
return (Painting)readProperty("painting");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "imageBlob":
+ return this.imageBlob;
+ case "textReview":
+ return this.textReview;
+ case "painting":
+ return this.painting;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "imageBlob":
+ this.imageBlob = (byte[])val;
+ break;
+ case "textReview":
+ this.textReview = (String)val;
+ break;
+ case "painting":
+ this.painting = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(imageBlob);
+ out.writeObject(textReview);
+ out.writeObject(painting);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ imageBlob = (byte[])in.readObject();
+ textReview = (String)in.readObject();
+ painting = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROArtist.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROArtist.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROArtist.java
index 40a307d..d4640fe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROArtist.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROArtist.java
@@ -1,9 +1,12 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.sql.Date;
import java.util.List;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Painting;
@@ -13,7 +16,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _ROArtist extends CayenneDataObject {
+public abstract class _ROArtist extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -23,24 +26,95 @@ public abstract class _ROArtist extends CayenneDataObject {
public static final Property<Date> DATE_OF_BIRTH = Property.create("dateOfBirth", Date.class);
public static final Property<List<Painting>> PAINTING_ARRAY = Property.create("paintingArray", List.class);
+ protected String artistName;
+ protected Date dateOfBirth;
+
+ protected Object paintingArray;
+
public String getArtistName() {
- return (String)readProperty("artistName");
+ beforePropertyRead("artistName");
+ return artistName;
}
public Date getDateOfBirth() {
- return (Date)readProperty("dateOfBirth");
+ beforePropertyRead("dateOfBirth");
+ return dateOfBirth;
}
public void addToPaintingArray(Painting obj) {
addToManyTarget("paintingArray", obj, true);
}
+
public void removeFromPaintingArray(Painting obj) {
removeToManyTarget("paintingArray", obj, true);
}
+
@SuppressWarnings("unchecked")
public List<Painting> getPaintingArray() {
return (List<Painting>)readProperty("paintingArray");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "artistName":
+ return this.artistName;
+ case "dateOfBirth":
+ return this.dateOfBirth;
+ case "paintingArray":
+ return this.paintingArray;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "artistName":
+ this.artistName = (String)val;
+ break;
+ case "dateOfBirth":
+ this.dateOfBirth = (Date)val;
+ break;
+ case "paintingArray":
+ this.paintingArray = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(artistName);
+ out.writeObject(dateOfBirth);
+ out.writeObject(paintingArray);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ artistName = (String)in.readObject();
+ dateOfBirth = (Date)in.readObject();
+ paintingArray = in.readObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/544aae08/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROPainting.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROPainting.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROPainting.java
index b0b4d95..84a95e7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROPainting.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ROPainting.java
@@ -1,8 +1,11 @@
package org.apache.cayenne.testdo.testmap.auto;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.math.BigDecimal;
-import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.BaseDataObject;
import org.apache.cayenne.exp.Property;
import org.apache.cayenne.testdo.testmap.Artist;
@@ -12,7 +15,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
* since it may be overwritten next time code is regenerated.
* If you need to make any customizations, please use subclass.
*/
-public abstract class _ROPainting extends CayenneDataObject {
+public abstract class _ROPainting extends BaseDataObject {
private static final long serialVersionUID = 1L;
@@ -22,18 +25,86 @@ public abstract class _ROPainting extends CayenneDataObject {
public static final Property<String> PAINTING_TITLE = Property.create("paintingTitle", String.class);
public static final Property<Artist> TO_ARTIST = Property.create("toArtist", Artist.class);
+ protected BigDecimal estimatedPrice;
+ protected String paintingTitle;
+
+ protected Object toArtist;
+
public BigDecimal getEstimatedPrice() {
- return (BigDecimal)readProperty("estimatedPrice");
+ beforePropertyRead("estimatedPrice");
+ return estimatedPrice;
}
public String getPaintingTitle() {
- return (String)readProperty("paintingTitle");
+ beforePropertyRead("paintingTitle");
+ return paintingTitle;
}
-
public Artist getToArtist() {
return (Artist)readProperty("toArtist");
}
+ @Override
+ public Object readPropertyDirectly(String propName) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch(propName) {
+ case "estimatedPrice":
+ return this.estimatedPrice;
+ case "paintingTitle":
+ return this.paintingTitle;
+ case "toArtist":
+ return this.toArtist;
+ default:
+ return super.readPropertyDirectly(propName);
+ }
+ }
+
+ @Override
+ public void writePropertyDirectly(String propName, Object val) {
+ if(propName == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (propName) {
+ case "estimatedPrice":
+ this.estimatedPrice = (BigDecimal)val;
+ break;
+ case "paintingTitle":
+ this.paintingTitle = (String)val;
+ break;
+ case "toArtist":
+ this.toArtist = val;
+ break;
+ default:
+ super.writePropertyDirectly(propName, val);
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ writeSerialized(out);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ readSerialized(in);
+ }
+
+ @Override
+ protected void writeState(ObjectOutputStream out) throws IOException {
+ super.writeState(out);
+ out.writeObject(estimatedPrice);
+ out.writeObject(paintingTitle);
+ out.writeObject(toArtist);
+ }
+
+ @Override
+ protected void readState(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ super.readState(in);
+ estimatedPrice = (BigDecimal)in.readObject();
+ paintingTitle = (String)in.readObject();
+ toArtist = in.readObject();
+ }
}