|
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_cFairShareThe cached fair-share load. |
protected boolean |
m_fPrimaryFlag 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 load| Method 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.Comparatoro1 - 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 | |||||||