summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-10-29 16:21:33 +0100
committerAndrew Branson <andrew.branson@cern.ch>2013-10-29 16:21:33 +0100
commitfe151c8cc4289ff8f908843d1c03f569d7f6eaff (patch)
treef27d68c7310bec7e8424b51090c4eb003877d032
parentfd8108209688cda9e782a4c3c91be522eb3ed1f4 (diff)
CollectionArrayList - intended for Item.initialize
-rw-r--r--src/main/java/com/c2kernel/collection/CollectionArrayList.java31
-rw-r--r--src/main/resources/mapFiles/CollectionMap.xml9
2 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/com/c2kernel/collection/CollectionArrayList.java b/src/main/java/com/c2kernel/collection/CollectionArrayList.java
new file mode 100644
index 0000000..586f99f
--- /dev/null
+++ b/src/main/java/com/c2kernel/collection/CollectionArrayList.java
@@ -0,0 +1,31 @@
+package com.c2kernel.collection;
+
+import java.util.ArrayList;
+
+import com.c2kernel.utils.CastorArrayList;
+
+public class CollectionArrayList extends CastorArrayList<Collection<CollectionMember>> {
+ public CollectionArrayList()
+ {
+ super();
+ }
+
+ public CollectionArrayList(ArrayList<Collection<CollectionMember>> aList)
+ {
+ super();
+ for (Collection<CollectionMember> coll : aList) {
+ put(coll);
+ }
+ }
+
+ /** Overwrite */
+ public void put(Collection<CollectionMember> c) {
+ for (Collection<CollectionMember> thisColl : list) {
+ if (thisColl.getName().equals(c.getName())) {
+ list.remove(thisColl);
+ break;
+ }
+ }
+ list.add(c);
+ }
+}
diff --git a/src/main/resources/mapFiles/CollectionMap.xml b/src/main/resources/mapFiles/CollectionMap.xml
index e9a7d7a..804022b 100644
--- a/src/main/resources/mapFiles/CollectionMap.xml
+++ b/src/main/resources/mapFiles/CollectionMap.xml
@@ -112,4 +112,13 @@
<class name="com.c2kernel.collection.AggregationInstance" extends="com.c2kernel.collection.Aggregation">
<map-to xml="AggregationInstance"/>
</class>
+ <class name="com.c2kernel.collection.CollectionArrayList">
+ <map-to xml="CollectionList"/>
+ <field name="list"
+ collection="arraylist"
+ direct="true"
+ type="com.c2kernel.collection.Collection">
+ <bind-xml auto-naming="deriveByClass" node="element"/>
+ </field>
+ </class>
</mapping>