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.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionStrengthComparator
(Ownership owners) Construct a StrengthComparator for the specified reference ownership. -
Method Summary
Modifier and TypeMethodDescriptionint
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.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 Details
-
m_owners
The ownership.
-
-
Constructor Details
-
StrengthComparator
Construct a StrengthComparator for the specified reference ownership.- Parameters:
owners
- the ownership, from which to determine member strength
-
-
Method Details
-
getOwnership
Return the ownership to use in comparing member strength.- Returns:
- the ownership
-
compare
- Specified by:
compare
in interfaceComparator
-
getDistance
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"
-
getDistance
Return the "distance" between the specified members.- Parameters:
member1
- the first membermember2
- the second member- Returns:
- the "distance" between the specified members
-