summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/collection/Parent2ChildCollection.java
diff options
context:
space:
mode:
authorabranson <andrew.branson@cern.ch>2011-08-04 00:42:34 +0200
committerabranson <andrew.branson@cern.ch>2011-08-04 00:42:34 +0200
commit0ec8481c10cd8277d84c7c1a785483a0a739e5a0 (patch)
tree5f6e5d9ae75193e67e6f3b3dfa488960c5cde1d5 /source/com/c2kernel/collection/Parent2ChildCollection.java
parent036cbdba66f804743c4c838ed598d6972c4b3e17 (diff)
More code cleanup:
Refactored Entity Proxy Subscription to handle generics better Rewrote RemoteMap to use TreeMap instead of the internal array for order. It now sorts its keys by number if they parse, else as strings. Removed a no-longer-in-progress outcome form class
Diffstat (limited to 'source/com/c2kernel/collection/Parent2ChildCollection.java')
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/collection/Parent2ChildCollection.java61
1 files changed, 35 insertions, 26 deletions
diff --git a/source/com/c2kernel/collection/Parent2ChildCollection.java b/source/com/c2kernel/collection/Parent2ChildCollection.java
index 0160444..09e9f07 100755..100644
--- a/source/com/c2kernel/collection/Parent2ChildCollection.java
+++ b/source/com/c2kernel/collection/Parent2ChildCollection.java
@@ -1,5 +1,4 @@
package com.c2kernel.collection;
-import java.util.Iterator;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.persistency.ClusterStorage;
@@ -9,33 +8,36 @@ import com.c2kernel.utils.CastorHashMap;
* @version $Revision: 1.23 $ $Date: 2004/05/14 15:39:39 $
* @author $Author: abranson $
*/
-abstract public class Parent2ChildCollection implements Collection
+abstract public class Parent2ChildCollection<E extends CollectionMember> implements Collection<E>
{
private int mCounter = -1; // Contains next available Member ID
- protected CollectionMemberList mMembers = new CollectionMemberList();
+ protected CollectionMemberList<E> mMembers = new CollectionMemberList<E>();
protected int mID = -1;
protected String mName = ""; // Not checked for uniqueness
protected String mURLInfo = "";
-
- public int getCounter()
+
+ @Override
+ public int getCounter()
{
if (mCounter == -1)
- for (Iterator iter = mMembers.list.iterator(); iter.hasNext();) {
- CollectionMember element = (CollectionMember)iter.next();
+ for (Object name : mMembers.list) {
+ CollectionMember element = (CollectionMember)name;
if (mCounter < element.getID())
mCounter = element.getID();
}
return ++mCounter;
}
- public void setCounter(int count)
+ @Override
+ public void setCounter(int count)
{
mCounter = count;
}
- public int size()
+ @Override
+ public int size()
{
return mMembers.list.size();
}
@@ -50,7 +52,8 @@ abstract public class Parent2ChildCollection implements Collection
return mID;
}
- public void setName(String name)
+ @Override
+ public void setName(String name)
{
mName = name;
}
@@ -60,12 +63,14 @@ abstract public class Parent2ChildCollection implements Collection
mURLInfo = urlInfo;
}
- public String getName()
+ @Override
+ public String getName()
{
return mName;
}
-
- public String getClusterType()
+
+ @Override
+ public String getClusterType()
{
return ClusterStorage.COLLECTION;
}
@@ -75,45 +80,49 @@ abstract public class Parent2ChildCollection implements Collection
return mURLInfo;
}
- public void setMembers(CollectionMemberList newMembers)
+ @Override
+ public void setMembers(CollectionMemberList<E> newMembers)
{
mMembers = newMembers;
}
-
+
public boolean contains(int entityKey) {
- for (Iterator iter = mMembers.list.iterator(); iter.hasNext();) {
- CollectionMember element = (CollectionMember)iter.next();
+ for (Object name : mMembers.list) {
+ CollectionMember element = (CollectionMember)name;
if (element.getEntityKey() == entityKey)
return true;
}
return false;
}
-
+
public boolean isFull()
{
for (int i=0; i<size(); i++)
{
- CollectionMember element = (CollectionMember) mMembers.list.get(i);
+ CollectionMember element = mMembers.list.get(i);
if (element.getEntityKey() == -1)
return false;
}
- return true;
+ return true;
}
-
- public CollectionMember getMember(int memberId) throws ObjectNotFoundException {
- for (Iterator iter = mMembers.list.iterator(); iter.hasNext();) {
- CollectionMember element = (CollectionMember)iter.next();
+
+ @Override
+ public CollectionMember getMember(int memberId) throws ObjectNotFoundException {
+ for (Object name : mMembers.list) {
+ CollectionMember element = (CollectionMember)name;
if (element.getID() == memberId)
return element;
}
throw new ObjectNotFoundException("Member "+memberId+" not found in "+mName, "");
}
- public CollectionMemberList getMembers()
+ @Override
+ public CollectionMemberList<E> getMembers()
{
return mMembers;
}
- public abstract void addMember(int entityKey, CastorHashMap props, String classProps) throws MembershipException;
+ @Override
+ public abstract void addMember(int entityKey, CastorHashMap props, String classProps) throws MembershipException;
}