Print

Print


Commit in java/trunk/conditions/src/main/java/org/hps/conditions on MAIN
ConditionsObjectCollection.java+16-6592 -> 593
Implement Iterable and add access to the assigned ConditionsRecord for the collection.

java/trunk/conditions/src/main/java/org/hps/conditions
ConditionsObjectCollection.java 592 -> 593
--- java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectCollection.java	2014-05-16 19:44:39 UTC (rev 592)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ConditionsObjectCollection.java	2014-05-17 00:28:10 UTC (rev 593)
@@ -3,13 +3,14 @@
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 
 // TODO: This class should have a reference to its ConditionsRecord.
 // TODO: Collections with a mix of different collection IDs on their objects should always be read only.
-public class ConditionsObjectCollection<T extends ConditionsObject> {
+public class ConditionsObjectCollection<ObjectType extends ConditionsObject> implements Iterable<ObjectType> {
 
-    protected List<T> objects = new ArrayList<T>();
+    protected List<ObjectType> objects = new ArrayList<ObjectType>();
     protected TableMetaData tableMetaData;
     protected int collectionId = -1;
     protected boolean isReadOnly;
@@ -19,7 +20,7 @@
 
     protected ConditionsObjectCollection() {
     }
-
+        
     public ConditionsObjectCollection(TableMetaData tableMetaData, int collectionId, boolean isReadOnly) {
         this.tableMetaData = tableMetaData;
         this.collectionId = collectionId;
@@ -28,12 +29,16 @@
             this.isNew = true;
         }
     }
+    
+    public ConditionsRecord getConditionsRecord() {
+        return conditionsRecord;
+    }
 
-    public T get(int index) {
+    public ObjectType get(int index) {
         return objects.get(index);
     }
 
-    public List<T> getObjects() {
+    public List<ObjectType> getObjects() {
         return Collections.unmodifiableList(objects);
     }
 
@@ -45,7 +50,7 @@
     // from this collection's, in which case this collection becomes "mixed" and it should
     // be
     // flagged as read only.
-    public void add(T object) throws ConditionsObjectException {
+    public void add(ObjectType object) throws ConditionsObjectException {
         if (objects.contains(object)) {
             throw new IllegalArgumentException("Collection already contains this object.");
         }
@@ -152,4 +157,9 @@
             throw new ConditionsObjectException("The ConditionsRecord is already set on this collection.");
         this.conditionsRecord = conditionsRecord;
     }
+
+    @Override
+    public Iterator<ObjectType> iterator() {
+        return objects.iterator();
+    }
 }
SVNspam 0.1