Mercurial > hg > blitz_condensed
view src/org/dancres/blitz/entry/ci/CacheLine.java @ 33:0b9265358617
Added tag 2.1.1 for changeset a77f0a9ed93c
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 12 Jun 2010 10:52:10 +0100 |
parents | 3dc0c5604566 |
children |
line wrap: on
line source
package org.dancres.blitz.entry.ci; import java.util.Set; import java.util.HashSet; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import org.dancres.blitz.oid.OID; import org.dancres.blitz.entry.TupleLocator; import org.dancres.blitz.entry.EntrySleeve; /** Maintains a list of all entries with the same hashcode for a particular field. */ class CacheLine { private Set theIds = new HashSet(); TupleLocator getLocator() { if (theIds.size() == 0) return ArrayLocatorImpl.EMPTY_LOCATOR; else return new CacheLineLocatorImpl(getIdList(), this); } private Object[] getIdList() { Object[] myIds = new Object[theIds.size()]; theIds.toArray(myIds); return myIds; } void insert(EntrySleeve aSleeve) { theIds.add(aSleeve.getOID()); } void remove(EntrySleeve aSleeve) { theIds.remove(aSleeve.getOID()); } int getSize() { return theIds.size(); } }