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