Package ptolemy.graph

Class Inequality


  • public class Inequality
    extends java.lang.Object
    An inequality over a CPO. Each inequality consists of two InequalityTerms, the lesser term and the greater term. The relation between them is less than or equal to. In addition, an inequality keeps a list of variables in it. The variables are InequalityTerms that consist of a single variable.
    Since:
    Ptolemy II 0.2
    Version:
    $Id$
    Author:
    Yuhong Xiong
    See Also:
    InequalityTerm
    Pt.AcceptedRating:
    Green (kienhuis)
    Pt.ProposedRating:
    Green (yuhong)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object object)
      Return true if object named by the argument is equal to this Inequality object.
      InequalityTerm getGreaterTerm()
      Return the greater term of this inequality.
      InequalityTerm getLesserTerm()
      Return the lesser term of this inequality.
      int hashCode()
      Return the hashCode of this object.
      boolean isSatisfied​(CPO cpo)
      Test if this inequality is satisfied with the current value of variables.
      java.lang.String toString()
      Override the base class to describe the inequality.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Inequality

        public Inequality​(InequalityTerm lesserTerm,
                          InequalityTerm greaterTerm)
        Construct an inequality.
        Parameters:
        lesserTerm - An InequalityTerm that is less than or equal to the second argument.
        greaterTerm - An InequalityTerm that is greater than or equal to the first argument.
        Throws:
        java.lang.IllegalArgumentException - If the lesserTerm or the greaterTerm is null.
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object object)
        Return true if object named by the argument is equal to this Inequality object.

        Override to return true if the greater and lesser terms of this object are the same as the greater and lesser terms of the specified object.

        Overrides:
        equals in class java.lang.Object
        Parameters:
        object - Object to compare against.
        Returns:
        true If the object is an Inequality and both the greater term and lesser term are equal to the corresponding terms of this object.
      • getGreaterTerm

        public InequalityTerm getGreaterTerm()
        Return the greater term of this inequality.
        Returns:
        An InequalityTerm
      • getLesserTerm

        public InequalityTerm getLesserTerm()
        Return the lesser term of this inequality.
        Returns:
        An InequalityTerm
      • hashCode

        public int hashCode()
        Return the hashCode of this object.

        Override to return the exclusive OR of the hashcodes of the greater and lesser terms. This ensures that two objects that return true to equals() have the same hashcode.

        Overrides:
        hashCode in class java.lang.Object
        Returns:
        The XOR of the greater and lesser terms.
      • isSatisfied

        public boolean isSatisfied​(CPO cpo)
                            throws IllegalActionException
        Test if this inequality is satisfied with the current value of variables.
        Parameters:
        cpo - A CPO over which this inequality is defined.
        Returns:
        True if this inequality is satisfied; false otherwise.
        Throws:
        IllegalActionException - If thrown while getting the value of the terms.
      • toString

        public java.lang.String toString()
        Override the base class to describe the inequality.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string describing the inequality.