blob: c59132e1f3648ba77f4b2b5099ad6a156057041c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
package com.c2kernel.collection;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.persistency.ClusterStorage;
import com.c2kernel.utils.CastorHashMap;
/**
* @version $Revision: 1.23 $ $Date: 2004/05/14 15:39:39 $
* @author $Author: abranson $
*/
abstract public class Parent2ChildCollection<E extends CollectionMember> implements Collection<E>
{
private int mCounter = -1; // Contains next available Member ID
protected CollectionMemberList<E> mMembers = new CollectionMemberList<E>();
protected int mID = -1;
protected String mName = ""; // Not checked for uniqueness
protected String mURLInfo = "";
@Override
public int getCounter()
{
if (mCounter == -1)
for (Object name : mMembers.list) {
CollectionMember element = (CollectionMember)name;
if (mCounter < element.getID())
mCounter = element.getID();
}
return ++mCounter;
}
@Override
public void setCounter(int count)
{
mCounter = count;
}
@Override
public int size()
{
return mMembers.list.size();
}
public void setID(int id)
{
mID = id;
}
public int getID()
{
return mID;
}
@Override
public void setName(String name)
{
mName = name;
}
public void setURLInfo(String urlInfo)
{
mURLInfo = urlInfo;
}
@Override
public String getName()
{
return mName;
}
@Override
public String getClusterType()
{
return ClusterStorage.COLLECTION;
}
public String getURLInfo()
{
return mURLInfo;
}
@Override
public void setMembers(CollectionMemberList<E> newMembers)
{
mMembers = newMembers;
}
public boolean contains(int entityKey) {
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 = mMembers.list.get(i);
if (element.getEntityKey() == -1)
return false;
}
return true;
}
@Override
public E getMember(int memberId) throws ObjectNotFoundException {
for (E element : mMembers.list) {
if (element.getID() == memberId)
return element;
}
throw new ObjectNotFoundException("Member "+memberId+" not found in "+mName, "");
}
@Override
public CollectionMemberList<E> getMembers()
{
return mMembers;
}
@Override
public abstract E addMember(int entityKey, CastorHashMap props, String classProps) throws MembershipException;
}
|