Package com.tangosol.net.partition
Class SimpleAssignmentStrategy.AnalysisContext.StrengthComparator
- java.lang.Object
-
- com.tangosol.net.partition.SimpleAssignmentStrategy.AnalysisContext.StrengthComparator
-
- All Implemented Interfaces:
Comparator
- Enclosing class:
- SimpleAssignmentStrategy.AnalysisContext
public class SimpleAssignmentStrategy.AnalysisContext.StrengthComparator extends Object implements Comparator
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.
-
-
Constructor Summary
Constructors Constructor Description StrengthComparator(Ownership owners)
Construct a StrengthComparator for the specified reference ownership.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(Object o1, Object o2)
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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
-
-
-
Field Detail
-
m_owners
protected Ownership m_owners
The ownership.
-
-
Constructor Detail
-
StrengthComparator
public StrengthComparator(Ownership owners)
Construct a StrengthComparator for the specified reference ownership.- Parameters:
owners
- the ownership, from which to determine member strength
-
-
Method Detail
-
getOwnership
public Ownership getOwnership()
Return the ownership to use in comparing member strength.- Returns:
- the ownership
-
compare
public int compare(Object o1, Object o2)
- Specified by:
compare
in interfaceComparator
-
getDistance
protected int getDistance(Member member)
Return the "distance" of the specified member from the reference ownership. The distance reflects granularities of "machine", "rack" and "site", and in the case of multiple-backups, reflects combined distances to each backup.- Parameters:
member
- the member to return the distance for- Returns:
- the "distance"
-
-