public class ReferenceContainer<ReferenceType extends Reference> extends RowSet
Modifier and Type | Class and Description |
---|---|
class |
ReferenceContainer.entryIterator |
RowSet.keyIterator, RowSet.rowIterator
RowCollection.partitionthread
Modifier and Type | Field and Description |
---|---|
static java.lang.reflect.Method |
containerMergeMethod |
protected ReferenceFactory<ReferenceType> |
factory |
static int |
maxReferences |
private static long |
serialVersionUID |
private byte[] |
termHash |
chunkcache, chunkcount, exportOverheadSize, growfactorLarge100, growfactorSmall100, lastTimeWrote, rowdef, sortBound
Constructor and Description |
---|
ReferenceContainer(ReferenceFactory<ReferenceType> factory,
byte[] termHash) |
ReferenceContainer(ReferenceFactory<ReferenceType> factory,
byte[] termHash,
int objectCount) |
ReferenceContainer(ReferenceFactory<ReferenceType> factory,
byte[] termHash,
RowSet collection) |
Modifier and Type | Method and Description |
---|---|
void |
add(Reference entry) |
static <ReferenceType extends Reference> |
emptyContainer(ReferenceFactory<ReferenceType> factory,
byte[] termHash) |
static <ReferenceType extends Reference> |
emptyContainer(ReferenceFactory<ReferenceType> factory,
byte[] termHash,
int elementCount) |
java.util.Iterator<ReferenceType> |
entries() |
static <ReferenceType extends Reference> |
excludeContainers(ReferenceFactory<ReferenceType> factory,
ReferenceContainer<ReferenceType> pivot,
java.util.Collection<ReferenceContainer<ReferenceType>> containers) |
static <ReferenceType extends Reference> |
excludeDestructive(ReferenceFactory<ReferenceType> factory,
ReferenceContainer<ReferenceType> pivot,
ReferenceContainer<ReferenceType> excl) |
private static <ReferenceType extends Reference> |
excludeDestructiveByEnumeration(ReferenceFactory<ReferenceType> factory,
ReferenceContainer<ReferenceType> pivot,
ReferenceContainer<ReferenceType> excl) |
private static <ReferenceType extends Reference> |
excludeDestructiveByTest(ReferenceContainer<ReferenceType> pivot,
ReferenceContainer<ReferenceType> excl) |
ReferenceType |
getReference(byte[] urlHash) |
byte[] |
getTermHash() |
int |
hashCode() |
static <ReferenceType extends Reference> |
joinConstructive(ReferenceFactory<ReferenceType> factory,
ReferenceContainer<ReferenceType> i1,
ReferenceContainer<ReferenceType> i2,
int maxDistance) |
private static <ReferenceType extends Reference> |
joinConstructiveByEnumeration(ReferenceFactory<ReferenceType> factory,
ReferenceContainer<ReferenceType> i1,
ReferenceContainer<ReferenceType> i2,
int maxDistance) |
private static <ReferenceType extends Reference> |
joinConstructiveByTest(ReferenceFactory<ReferenceType> factory,
ReferenceContainer<ReferenceType> small,
ReferenceContainer<ReferenceType> large,
int maxDistance) |
static <ReferenceType extends Reference> |
joinContainers(ReferenceFactory<ReferenceType> factory,
java.util.Collection<ReferenceContainer<ReferenceType>> containers,
int maxDistance) |
static <ReferenceType extends Reference> |
joinExcludeContainers(ReferenceFactory<ReferenceType> factory,
java.util.Collection<ReferenceContainer<ReferenceType>> includeContainers,
java.util.Collection<ReferenceContainer<ReferenceType>> excludeContainers,
int maxDistance) |
private static int |
log2(int x) |
ReferenceContainer<ReferenceType> |
merge(ReferenceContainer<ReferenceType> c) |
static java.lang.Object |
mergeUnique(java.lang.Object a,
java.lang.Object b) |
private int[] |
oldPostions(int count) |
private java.util.Collection<java.util.List<java.lang.Integer>> |
positionsByLastMod() |
void |
put(Reference entry) |
int |
putAllRecent(ReferenceContainer<ReferenceType> c) |
boolean |
putRecent(Reference entry) |
int |
removeEntries(HandleSet urlHashes) |
ReferenceType |
removeReference(byte[] urlHash)
remove a url reference from the container.
|
Reference |
replace(Reference entry) |
void |
setWordHash(byte[] newTermHash) |
int |
shrinkReferences()
Shrink the reference size in such a way that it does not exceed maxReferences
In case that the index is too large, old entries are deleted
|
ReferenceContainer<ReferenceType> |
topLevelClone() |
java.lang.String |
toString() |
long |
updated() |
binaryPosition, clone, delete, delete, deleteOnExit, filename, get, get, has, importRowCount, importRowSet, inc, iterator, keys, keys, main, merge, mergeEnum, put, randomHash, randomHash, remove, replace, reset, rows, rows
add, addAllUnique, addSorted, addUnique, addUnique, buffer, clear, close, compare, compare, delete, exportCollection, get, getKey, insertUnique, isEmpty, isSorted, keys, largestKey, lastWrote, match, match, mem, memoryNeededForGrow, optimize, random, removeDoubles, removeOne, removeRow, row, saveCollection, set, size, sizeOfExportedCollectionRows, smallestKey, sort, sorted, swap, test, top, trim, uniq
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
addUnique, clear, close, isEmpty, largestKey, mem, optimize, random, removeDoubles, removeOne, row, size, smallestKey, top
private static final long serialVersionUID
private byte[] termHash
protected ReferenceFactory<ReferenceType extends Reference> factory
public static int maxReferences
public static final java.lang.reflect.Method containerMergeMethod
public ReferenceContainer(ReferenceFactory<ReferenceType> factory, byte[] termHash, RowSet collection)
public ReferenceContainer(ReferenceFactory<ReferenceType> factory, byte[] termHash)
public ReferenceContainer(ReferenceFactory<ReferenceType> factory, byte[] termHash, int objectCount) throws SpaceExceededException
SpaceExceededException
public ReferenceContainer<ReferenceType> topLevelClone() throws SpaceExceededException
SpaceExceededException
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> emptyContainer(ReferenceFactory<ReferenceType> factory, byte[] termHash)
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> emptyContainer(ReferenceFactory<ReferenceType> factory, byte[] termHash, int elementCount) throws SpaceExceededException
SpaceExceededException
public void setWordHash(byte[] newTermHash)
public long updated()
public byte[] getTermHash()
public void add(Reference entry) throws SpaceExceededException
SpaceExceededException
public ReferenceContainer<ReferenceType> merge(ReferenceContainer<ReferenceType> c) throws SpaceExceededException
SpaceExceededException
public Reference replace(Reference entry) throws SpaceExceededException
SpaceExceededException
public void put(Reference entry) throws SpaceExceededException
SpaceExceededException
public boolean putRecent(Reference entry) throws SpaceExceededException
SpaceExceededException
public int putAllRecent(ReferenceContainer<ReferenceType> c) throws SpaceExceededException
SpaceExceededException
public ReferenceType getReference(byte[] urlHash)
public ReferenceType removeReference(byte[] urlHash)
public int removeEntries(HandleSet urlHashes)
public int shrinkReferences()
private int[] oldPostions(int count)
private java.util.Collection<java.util.List<java.lang.Integer>> positionsByLastMod()
public java.util.Iterator<ReferenceType> entries()
public static java.lang.Object mergeUnique(java.lang.Object a, java.lang.Object b) throws SpaceExceededException
SpaceExceededException
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> joinExcludeContainers(ReferenceFactory<ReferenceType> factory, java.util.Collection<ReferenceContainer<ReferenceType>> includeContainers, java.util.Collection<ReferenceContainer<ReferenceType>> excludeContainers, int maxDistance) throws SpaceExceededException
SpaceExceededException
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> joinContainers(ReferenceFactory<ReferenceType> factory, java.util.Collection<ReferenceContainer<ReferenceType>> containers, int maxDistance) throws SpaceExceededException
SpaceExceededException
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> excludeContainers(ReferenceFactory<ReferenceType> factory, ReferenceContainer<ReferenceType> pivot, java.util.Collection<ReferenceContainer<ReferenceType>> containers)
private static int log2(int x)
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> joinConstructive(ReferenceFactory<ReferenceType> factory, ReferenceContainer<ReferenceType> i1, ReferenceContainer<ReferenceType> i2, int maxDistance) throws SpaceExceededException
SpaceExceededException
private static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> joinConstructiveByTest(ReferenceFactory<ReferenceType> factory, ReferenceContainer<ReferenceType> small, ReferenceContainer<ReferenceType> large, int maxDistance) throws SpaceExceededException
SpaceExceededException
private static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> joinConstructiveByEnumeration(ReferenceFactory<ReferenceType> factory, ReferenceContainer<ReferenceType> i1, ReferenceContainer<ReferenceType> i2, int maxDistance) throws SpaceExceededException
SpaceExceededException
public static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> excludeDestructive(ReferenceFactory<ReferenceType> factory, ReferenceContainer<ReferenceType> pivot, ReferenceContainer<ReferenceType> excl)
private static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> excludeDestructiveByTest(ReferenceContainer<ReferenceType> pivot, ReferenceContainer<ReferenceType> excl)
private static <ReferenceType extends Reference> ReferenceContainer<ReferenceType> excludeDestructiveByEnumeration(ReferenceFactory<ReferenceType> factory, ReferenceContainer<ReferenceType> pivot, ReferenceContainer<ReferenceType> excl)
public java.lang.String toString()
toString
in class RowCollection
public int hashCode()
hashCode
in class java.lang.Object