|
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.StrengthComparator
public class SimpleAssignmentStrategy.AnalysisContext.StrengthComparator
StrengthComparator is an Comparator that can be used to compare two Member objects based on their "distance" from a given set of members (as represented by an Ownership object). Member distances are expressed with the granularity of "machine", "rack", and "site".
A member is ordered "lower" than another member if it has a larger combined distance from the reference members (ownership) (i.e. it is "stronger"). Members with equivalent distances are ordered arbitrarily.
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 Ownership |
m_ownersThe ownership. |
| Constructor Summary | |
|---|---|
SimpleAssignmentStrategy.AnalysisContext.StrengthComparator(Ownership owners)Construct a StrengthComparator for the specified reference ownership. |
|
| Method Summary | |
|---|---|
int |
compare(java.lang.Object o1, java.lang.Object o2)Compares its two arguments for order. |
protected int |
getDistance(Member member)Return the "distance" of the specified member from the reference ownership. |
protected int |
getDistance(Member member1, Member member2)Return the "distance" between the specified members. |
Ownership |
getOwnership()Return the ownership to use in comparing member strength. |
| Methods inherited from interface java.util.Comparator |
|---|
equals |
| Field Detail |
|---|
protected Ownership m_owners
| Constructor Detail |
|---|
public SimpleAssignmentStrategy.AnalysisContext.StrengthComparator(Ownership owners)
owners - the ownership, from which to determine member strength| Method Detail |
|---|
public Ownership getOwnership()
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.protected int getDistance(Member member)
member - the member to return the distance for
protected int getDistance(Member member1,
Member member2)
member1 - the first membermember2 - the second member
|
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 | |||||||