Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.1.0

E22843-01


com.tangosol.net.partition
Class SimpleAssignmentStrategy.AnalysisContext.LoadComparator

java.lang.Object
  extended by com.tangosol.net.partition.SimpleAssignmentStrategy.AnalysisContext.LoadComparator

All Implemented Interfaces:
java.util.Comparator
Enclosing class:
SimpleAssignmentStrategy.AnalysisContext

public class SimpleAssignmentStrategy.AnalysisContext.LoadComparator
extends java.lang.Object
implements java.util.Comparator

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

m_cFairShare

protected int m_cFairShare
The cached fair-share load.

m_fPrimary

protected boolean m_fPrimary
Flag for primary or backup load comparison.

Constructor Detail

SimpleAssignmentStrategy.AnalysisContext.LoadComparator

public SimpleAssignmentStrategy.AnalysisContext.LoadComparator(boolean fPrimary)
Construct a LoadComparator.
Parameters:
fPrimary - true if the comparator should use the primary load, or false for backup load

Method Detail

getFairShare

public int getFairShare()
Return the fair-share load.
Returns:
the fair-share load

isPrimary

public boolean isPrimary()
Return true iff the comparator should use the primary load.
Returns:
true iff the comparator should use the primary load

compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

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."

Specified by:
compare in interface java.util.Comparator
Parameters:
o1 - the first object to be compared.
o2 - the second object to be compared.
Returns:
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.7.1.0

E22843-01


Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.