|
Oracle® Coherence Java API Reference Release 3.7.1.0 E22843-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
com.tangosol.net.partition.SimpleAssignmentStrategy.AnalysisContext.LoadComparator
public class SimpleAssignmentStrategy.AnalysisContext.LoadComparator
LoadComparator is a Comparator that can be used to compare two Member objects based on their partition load (as defined by the LoadCalculator).
A member is ordered "lower" than another member if it has a lower member load (as determined by the LoadCalculator). Members with equivalent loads are ordered equivalently.
Note: This comparator does not define an ordering that is "consistent with equals". If used in a context requiring such a natural ordering, it should be chained with comparator that does provide a natural ordering.
Field Summary | |
---|---|
protected int |
m_cFairShare The cached fair-share load. |
protected boolean |
m_fPrimary Flag for primary or backup load comparison. |
Constructor Summary | |
---|---|
SimpleAssignmentStrategy.AnalysisContext.LoadComparator(boolean fPrimary) Construct a LoadComparator. |
Method Summary | |
---|---|
int |
compare(java.lang.Object o1, java.lang.Object o2) Compares its two arguments for order. |
int |
getFairShare() Return the fair-share load. |
boolean |
isPrimary() Return true iff the comparator should use the primary load. |
Methods inherited from interface java.util.Comparator |
---|
equals |
Field Detail |
---|
protected int m_cFairShare
protected boolean m_fPrimary
Constructor Detail |
---|
public SimpleAssignmentStrategy.AnalysisContext.LoadComparator(boolean fPrimary)
fPrimary
- true if the comparator should use the primary load, or false for backup loadMethod Detail |
---|
public int getFairShare()
public boolean isPrimary()
public int compare(java.lang.Object o1, java.lang.Object o2)
The implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)
The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.
Finally, the implementer must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.
It is generally the case, but not strictly required that (compare(x, y)==0) == (x.equals(y)). Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."
compare
in interface java.util.Comparator
o1
- the first object to be compared.o2
- the second object to be compared.
|
Oracle® Coherence Java API Reference Release 3.7.1.0 E22843-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |