Subversion Repositories SmartDukaan

Rev

Rev 323 | Go to most recent revision | 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
		super();
34
	}
35
 
36
	/**
37
	 * @param primitiveDataObject 
38
	 */
20 naveen 39
	public void addPrimitiveDataObject(
40
			PrimitiveDataObject primitiveDataObject) {
41
		if(this.primitiveDataObjects == null) {
42
			this.primitiveDataObjects = new ArrayList<PrimitiveDataObject>();
43
		}
44
 
10 shop2020 45
		this.primitiveDataObjects.add(primitiveDataObject);
46
	}
47
 
48
	/**
49
	 * @param primitiveDataObjects the primitiveDataObjects to set
50
	 */
79 naveen 51
	public void setPrimitiveDataObjects(
52
			List<PrimitiveDataObject> primitiveDataObjects) {
10 shop2020 53
		this.primitiveDataObjects = primitiveDataObjects;
54
	}
55
 
56
	/**
57
	 * @return the primitiveDataObjects
58
	 */
59
	public List<PrimitiveDataObject> getPrimitiveDataObjects() {
60
		return primitiveDataObjects;
61
	}
62
 
79 naveen 63
	/**
64
	 * True if respective PrimitiveDataObjects match
65
	 */
66
	public boolean equals(Object obj) {
67
		if(this.primitiveDataObjects != null && 
68
				obj instanceof CompositeDataObject) {
69
 
70
			List<PrimitiveDataObject> pDOs = 
71
				((CompositeDataObject)obj).getPrimitiveDataObjects();
72
 
73
			if(pDOs != null && pDOs.size() == this.primitiveDataObjects.size()){
74
				for(int i=0;i<this.primitiveDataObjects.size();i++) {
75
					if(!this.primitiveDataObjects.get(i).equals(pDOs.get(i))) {
76
						return false;
77
					}
78
				}
79
 
80
				return true;
81
			}
82
		}
83
 
84
		return false;
85
	}
86
 
20 naveen 87
	/* (non-Javadoc)
88
	 * @see java.lang.Object#toString()
89
	 */
90
	@Override
91
	public String toString() {
92
		return "CompositeDataObject [primitiveDataObjects="
93
				+ primitiveDataObjects + "]";
94
	}
95
 
10 shop2020 96
}