Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
24 naveen 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.util;
5
 
6
import in.shop2020.metamodel.definitions.BulletDefinition;
7
import in.shop2020.metamodel.definitions.Catalog;
45 naveen 8
import in.shop2020.metamodel.definitions.CompositeDefinition;
24 naveen 9
import in.shop2020.metamodel.definitions.DatatypeDefinition;
10
import in.shop2020.metamodel.definitions.DefinitionsContainer;
45 naveen 11
import in.shop2020.metamodel.definitions.EnumDefinition;
24 naveen 12
import in.shop2020.metamodel.definitions.Unit;
25 naveen 13
import in.shop2020.util.Utils;
24 naveen 14
 
15
/**
16
 * @author naveen
17
 *
18
 */
19
public class ExpandedBulletDefinition extends BulletDefinition {
20
 
21
	/**
22
	 * 
23
	 */
24
	private static final long serialVersionUID = 1L;
25
 
26
	private DatatypeDefinition datatypeDefinition ; 
27
	private Unit unit;
45 naveen 28
	private boolean isComposite;
29
	private boolean isEnumerated;
30
 
24 naveen 31
	/**
45 naveen 32
	 * 
33
	 * @param bulletDefinition
34
	 * @throws Exception
24 naveen 35
	 */
36
	public ExpandedBulletDefinition(BulletDefinition bulletDefinition) 
37
		throws Exception {
38
		super(bulletDefinition.getDatatypeDefinitionID());
39
 
40
		// Copy rest of the properties
41
		this.setDescription(bulletDefinition.getDescription());
42
		this.setUnitID(bulletDefinition.getUnitID());
47 naveen 43
		this.setLearned(bulletDefinition.isLearned());
44
		this.setMultivalue(bulletDefinition.isMultivalue());
24 naveen 45
 
46
		DefinitionsContainer defs = 
47
			Catalog.getInstance().getDefinitionsContainer();
48
 
49
		// Expand data type definition id
50
		this.datatypeDefinition = defs.getDatatypeDefinition(
51
				bulletDefinition.getDatatypeDefinitionID());
52
 
45 naveen 53
 
25 naveen 54
		Utils.logger.info("datatypeDefinition.getClass().getName=" + 
55
				this.datatypeDefinition.getClass().getName());
56
 
45 naveen 57
		if(this.datatypeDefinition instanceof CompositeDefinition) {
58
			this.isComposite = true;
59
		}
60
		else if(this.datatypeDefinition instanceof EnumDefinition) {
61
			this.isEnumerated = true;
62
		}
63
 
24 naveen 64
		// Expand unit id
25 naveen 65
		if(bulletDefinition.getUnitID() != 0L) {
66
			this.unit = defs.getUnit(bulletDefinition.getUnitID());
67
		}
24 naveen 68
	}
69
 
70
	/**
71
	 * @return the datatypeDefinition
72
	 */
73
	public DatatypeDefinition getDatatypeDefinition() {
25 naveen 74
		return this.datatypeDefinition;
24 naveen 75
	}
76
 
77
	/**
78
	 * @return the unit
79
	 */
80
	public Unit getUnit() {
25 naveen 81
		return this.unit;
24 naveen 82
	}
83
 
45 naveen 84
	/**
85
	 * @return the isComposite
86
	 */
87
	public boolean isComposite() {
88
		return isComposite;
89
	}
90
 
91
	/**
92
	 * @return the isEnum
93
	 */
94
	public boolean isEnumerated() {
95
		return isEnumerated;
96
	}
97
 
33 naveen 98
	/* (non-Javadoc)
99
	 * @see java.lang.Object#toString()
100
	 */
101
	@Override
102
	public String toString() {
103
		return "ExpandedBulletDefinition [datatypeDefinition="
45 naveen 104
				+ datatypeDefinition + ", isComposite=" + isComposite
105
				+ ", isEnumerated=" + isEnumerated + ", unit=" + unit
106
				+ ", getDatatypeDefinitionID()=" + getDatatypeDefinitionID()
107
				+ ", getDescription()=" + getDescription() + ", getUnitID()="
108
				+ getUnitID() + ", isLearned()=" + isLearned()
109
				+ ", isMultivalue()=" + isMultivalue() + "]";
33 naveen 110
	}
111
 
24 naveen 112
}