public class ReferenceContainerOrder<ReferenceType extends Reference> extends AbstractOrder<ReferenceContainer<ReferenceType>> implements Order<ReferenceContainer<ReferenceType>>, java.lang.Cloneable
Modifier and Type | Field and Description |
---|---|
private Order<byte[]> |
embeddedOrder |
private ReferenceFactory<ReferenceType> |
factory |
asc, zero
Constructor and Description |
---|
ReferenceContainerOrder(ReferenceFactory<ReferenceType> factory,
Order<byte[]> embedOrder) |
Modifier and Type | Method and Description |
---|---|
long |
cardinal(byte[] key) |
long |
cardinal(ReferenceContainer<ReferenceType> key)
returns a cardinal number in the range of 0 ..
|
Order<ReferenceContainer<ReferenceType>> |
clone() |
int |
compare(ReferenceContainer<ReferenceType> a,
ReferenceContainer<ReferenceType> b) |
void |
direction(boolean ascending)
the ordering direction can be changed at any time
|
boolean |
equal(ReferenceContainer<ReferenceType> a,
ReferenceContainer<ReferenceType> b) |
boolean |
equals(java.lang.Object obj)
used to compare different order objects; they may define the same ordering
|
long |
partition(byte[] key,
int forks) |
void |
rotate(ReferenceContainer<ReferenceType> zero)
defines that the ordering rotates, and sets the zero point for the rotation
|
java.lang.String |
signature()
returns a signature String so that different orderings have different signatures
|
boolean |
wellformed(ReferenceContainer<ReferenceType> a)
returns true if and only if a has only characters that belong to the implemented order
|
hashCode, largest, partition, smallest, zero
private final ReferenceFactory<ReferenceType extends Reference> factory
private final Order<byte[]> embeddedOrder
public ReferenceContainerOrder(ReferenceFactory<ReferenceType> factory, Order<byte[]> embedOrder)
public boolean wellformed(ReferenceContainer<ReferenceType> a)
Order
wellformed
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
public void direction(boolean ascending)
Order
direction
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
direction
in class AbstractOrder<ReferenceContainer<ReferenceType extends Reference>>
public long partition(byte[] key, int forks)
public int compare(ReferenceContainer<ReferenceType> a, ReferenceContainer<ReferenceType> b)
compare
in interface java.util.Comparator<ReferenceContainer<ReferenceType extends Reference>>
compare
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
public boolean equal(ReferenceContainer<ReferenceType> a, ReferenceContainer<ReferenceType> b)
equal
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
public void rotate(ReferenceContainer<ReferenceType> zero)
Order
rotate
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
rotate
in class AbstractOrder<ReferenceContainer<ReferenceType extends Reference>>
public Order<ReferenceContainer<ReferenceType>> clone()
clone
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
clone
in class AbstractOrder<ReferenceContainer<ReferenceType extends Reference>>
public java.lang.String signature()
Order
signature
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
public long cardinal(byte[] key)
public boolean equals(java.lang.Object obj)
Order
equals
in interface java.util.Comparator<ReferenceContainer<ReferenceType extends Reference>>
equals
in interface Order<ReferenceContainer<ReferenceType extends Reference>>
equals
in class AbstractOrder<ReferenceContainer<ReferenceType extends Reference>>
public long cardinal(ReferenceContainer<ReferenceType> key)
Order
cardinal
in interface Order<ReferenceContainer<ReferenceType extends Reference>>