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.core.Bullet;
7
import in.shop2020.metamodel.core.CompositeDataObject;
8
import in.shop2020.metamodel.core.EnumDataObject;
9
import in.shop2020.metamodel.definitions.BulletDefinition;
10
import in.shop2020.metamodel.definitions.Catalog;
11
import in.shop2020.metamodel.definitions.DefinitionsContainer;
12
import in.shop2020.metamodel.definitions.EnumValue;
13
 
14
/**
15
 * @author naveen
16
 *
17
 */
18
public class ExpandedBullet extends Bullet {
19
	private ExpandedBulletDefinition expandedBulletDefinition;
20
	private ExpandedEnumDataObject expandedEnumDataObject;
21
	private boolean primitive;
22
	private boolean enumerated;
23
	private boolean composite;
24
 
25
 
26
	/**
27
	 * 
28
	 */
29
	private static final long serialVersionUID = 1L;
30
 
31
	/**
32
	 * @param dataObject
33
	 * @throws Exception 
34
	 */
35
	public ExpandedBullet(Bullet bullet, BulletDefinition bulletDefinition) 
36
		throws Exception {
37
		super(bullet.getDataObject());
38
 
39
		// Copy rest of the properties
40
		super.setFreeformContent(bullet.getFreeformContent());
41
 
42
		this.expandedBulletDefinition = 
43
			new ExpandedBulletDefinition(bulletDefinition);
44
 
45
		// Expand enum data object
46
		if(super.getDataObject() instanceof EnumDataObject) {
47
			this.enumerated = true;
48
 
49
			EnumDataObject enumDataObject = 
50
				(EnumDataObject)bullet.getDataObject();
51
 
52
			DefinitionsContainer defs = 
53
				Catalog.getInstance().getDefinitionsContainer();
54
 
55
			EnumValue enumValue = 
56
				defs.getEnumValue(enumDataObject.getEnumValueID());
57
 
58
			this.expandedEnumDataObject = new ExpandedEnumDataObject(
59
					enumDataObject, enumValue);
60
		}
61
		else if(super.getDataObject() instanceof CompositeDataObject) {
62
			this.composite = true;
63
		}
64
		else {
65
			this.primitive = true;
66
		}
67
	}
68
 
69
	/**
70
	 * @return the expandedEnumDataObject
71
	 */
72
	public ExpandedEnumDataObject getExpandedEnumDataObject() {
73
		return expandedEnumDataObject;
74
	}
75
 
76
	/**
77
	 * @return the expandedBulletDefinition
78
	 */
79
	public ExpandedBulletDefinition getExpandedBulletDefinition() {
80
		return expandedBulletDefinition;
81
	}
82
 
83
	/**
84
	 * @return the primitive
85
	 */
86
	public boolean isPrimitive() {
87
		return primitive;
88
	}
89
 
90
	/**
91
	 * @return the enumerated
92
	 */
93
	public boolean isEnumerated() {
94
		return enumerated;
95
	}
96
 
97
	/**
98
	 * @return the composite
99
	 */
100
	public boolean isComposite() {
101
		return composite;
102
	}
103
 
104
}