MCPcopy Create free account
hub / github.com/GateNLP/gate-core / add

Method add

src/main/java/gate/relations/RelationSet.java:211–250  ·  view source on GitHub ↗

Adds an externally-created Relation instance. @param rel the Relation to be added. @return true if the Relation was added to the set, false otherwise

(Relation rel)

Source from the content-addressed store, hash-verified

209 * @return true if the {@link Relation} was added to the set, false otherwise
210 */
211 @Override
212 public boolean add(Relation rel) {
213
214 // keep a track of the max ID we now of to support the index access
215 maxID = Math.max(maxID, rel.getId());
216
217 /** index by ID **/
218 indexById.put(rel.getId(), rel);
219
220 /** index by type **/
221 BitSet sameType = indexByType.get(rel.getType());
222 if(sameType == null) {
223 sameType = new BitSet(rel.getId());
224 indexByType.put(rel.getType(), sameType);
225 }
226 sameType.set(rel.getId());
227
228 /** index by member **/
229 // widen the index by member list, if needed
230 for(int i = indexesByMember.size(); i < rel.getMembers().length; i++) {
231 indexesByMember.add(new HashMap<Integer, BitSet>());
232 }
233
234 for(int memeberPos = 0; memeberPos < rel.getMembers().length; memeberPos++) {
235 int member = rel.getMembers()[memeberPos];
236 Map<Integer, BitSet> indexByMember = indexesByMember.get(memeberPos);
237 BitSet sameMember = indexByMember.get(member);
238 if(sameMember == null) {
239 sameMember = new BitSet(maxID);
240 indexByMember.put(member, sameMember);
241 }
242 sameMember.set(rel.getId());
243 }
244
245 // notify anyone who cares that a new relation has been added
246 fireRelationAdded(new RelationSetEvent(this,
247 RelationSetEvent.RELATION_ADDED, rel));
248
249 return true;
250 }
251
252 /**
253 * Returns the maximum arity for any relation in this

Callers 3

addRelationMethod · 0.95
addAllMethod · 0.95
readObjectMethod · 0.95

Calls 9

fireRelationAddedMethod · 0.95
getIdMethod · 0.65
getMethod · 0.65
getTypeMethod · 0.65
sizeMethod · 0.65
getMembersMethod · 0.65
addMethod · 0.65
putMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected