Subversion Repositories SmartDukaan

Rev

Rev 1061 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
10 shop2020 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.core;
5
 
6
import java.util.ArrayList;
7
import java.util.List;
8
 
9
/**
45 naveen 10
 * Type of BulletDataObject, when data is composition of more than one 
11
 * atomic facts (multiple PrimitiveDataObjects). 
12
 * e.g. Size - Length, Width and Height
13
 * 
10 shop2020 14
 * @author naveen
15
 *
16
 */
17
public class CompositeDataObject extends BulletDataObject {
18
 
19
	/**
20
	 * 
21
	 */
22
	private static final long serialVersionUID = 1L;
45 naveen 23
 
24
	/**
25
	 * List of atomic parts
26
	 */
10 shop2020 27
	private List<PrimitiveDataObject> primitiveDataObjects;
28
 
29
	/**
30
	 * 
31
	 */
32
	public CompositeDataObject() {
33
	}
34
 
35
	/**
36
	 * @param primitiveDataObject 
37
	 */
20 naveen 38
	public void addPrimitiveDataObject(
39
			PrimitiveDataObject primitiveDataObject) {
40
		if(this.primitiveDataObjects == null) {
41
			this.primitiveDataObjects = new ArrayList<PrimitiveDataObject>();
42
		}
43
 
10 shop2020 44
		this.primitiveDataObjects.add(primitiveDataObject);
45
	}
46
 
47
	/**
48
	 * @param primitiveDataObjects the primitiveDataObjects to set
49
	 */
79 naveen 50
	public void setPrimitiveDataObjects(
51
			List<PrimitiveDataObject> primitiveDataObjects) {
10 shop2020 52
		this.primitiveDataObjects = primitiveDataObjects;
53
	}
54
 
55
	/**
56
	 * @return the primitiveDataObjects
57
	 */
58
	public List<PrimitiveDataObject> getPrimitiveDataObjects() {
59
		return primitiveDataObjects;
60
	}
61
 
79 naveen 62
	/**
63
	 * True if respective PrimitiveDataObjects match
64
	 */
65
	public boolean equals(Object obj) {
66
		if(this.primitiveDataObjects != null && 
67
				obj instanceof CompositeDataObject) {
68
 
69
			List<PrimitiveDataObject> pDOs = 
70
				((CompositeDataObject)obj).getPrimitiveDataObjects();
71
 
72
			if(pDOs != null && pDOs.size() == this.primitiveDataObjects.size()){
73
				for(int i=0;i<this.primitiveDataObjects.size();i++) {
74
					if(!this.primitiveDataObjects.get(i).equals(pDOs.get(i))) {
75
						return false;
76
					}
77
				}
78
 
79
				return true;
80
			}
81
		}
82
 
83
		return false;
84
	}
85
 
20 naveen 86
	/* (non-Javadoc)
87
	 * @see java.lang.Object#toString()
88
	 */
89
	@Override
90
	public String toString() {
91
		return "CompositeDataObject [primitiveDataObjects="
92
				+ primitiveDataObjects + "]";
93
	}
94
 
10 shop2020 95
}