001: package myapp;
002:
003: import java.util.Vector;
004: import org.exolab.castor.jdo.Database;
005: import org.exolab.castor.jdo.Persistent;
006: import org.exolab.castor.jdo.TimeStampable;
007: import org.exolab.castor.mapping.AccessMode;
008:
009: public class Product implements Persistent, TimeStampable {
010: private int _id;
011:
012: private String _name;
013:
014: private float _price;
015:
016: private ProductGroup _group;
017:
018: private long _timeStamp;
019:
020: private Vector _details = new Vector();
021:
022: private Vector _categories = new Vector();
023:
024: public int getId() {
025: return _id;
026: }
027:
028: public void setId(final int id) {
029: _id = id;
030: }
031:
032: public String getName() {
033: return _name;
034: }
035:
036: public void setName(final String name) {
037: _name = name;
038: }
039:
040: public float getPrice() {
041: return _price;
042: }
043:
044: public void setPrice(final float price) {
045: _price = price;
046: }
047:
048: public ProductGroup getGroup() {
049: return _group;
050: }
051:
052: public void setGroup(final ProductGroup group) {
053: _group = group;
054: }
055:
056: public ProductDetail createDetail() {
057: return new ProductDetail();
058: }
059:
060: public Vector getDetails() {
061: return _details;
062: }
063:
064: public void addDetail(final ProductDetail detail) {
065: _details.add(detail);
066: detail.setProduct(this );
067: }
068:
069: public Vector getCategories() {
070: return _categories;
071: }
072:
073: public void addCategories(final Category category) {
074: if (!_categories.contains(category)) {
075: _categories.addElement(category);
076: category.addProduct(this );
077: }
078: }
079:
080: public void jdoPersistent(final Database db) {
081: }
082:
083: public void jdoTransient() {
084: }
085:
086: public Class jdoLoad(final AccessMode accessMode) {
087: if (_name.indexOf("PC") >= 0) {
088: return Computer.class;
089: }
090: return null;
091: }
092:
093: public void jdoBeforeCreate(final Database db) {
094: }
095:
096: public void jdoAfterCreate() {
097: }
098:
099: public void jdoStore(final boolean modified) {
100: }
101:
102: public void jdoBeforeRemove() {
103: }
104:
105: public void jdoAfterRemove() {
106: }
107:
108: public void jdoUpdate() {
109: }
110:
111: public void jdoSetTimeStamp(final long timeStamp) {
112: // System.out.println( "CHANGING TIMESTAMP FROM: " + _timeStamp + " TO: " + timeStamp );
113: _timeStamp = timeStamp;
114: }
115:
116: public long jdoGetTimeStamp() {
117: // System.out.println( "GRABBING TIMESTAMP " + _timeStamp );
118: return _timeStamp;
119: }
120:
121: public String toString() {
122: return "<id: " + _id + " name: " + _name + " price: " + _price
123: + ">";
124: }
125: }
|