Class AbstractComparativeField

  • All Implemented Interfaces:
    FieldI, java.io.Serializable
    Direct Known Subclasses:
    ExtDocsTest.StringField2, GenericField, StringField

    public abstract class AbstractComparativeField
    extends java.lang.Object
    implements FieldI
    An abstract base class for fields where comparison methods are implemented using a single cmp(a,b) method. Subclasses just need to implement a single method and not the full set of comparison methods. Not all types what to extend this class, for instance with doubles it fails to work with NaN values.
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract java.lang.Integer cmp​(java.lang.Object l, java.lang.Object r)
      Compare two elements, return -1,0,1 if the comparison can be carried out, null otherwise.
      java.lang.Boolean eq​(java.lang.Object l, java.lang.Object r)
      Equals
      java.lang.Boolean ge​(java.lang.Object l, java.lang.Object r)
      Greater or equal to
      java.lang.Boolean gt​(java.lang.Object l, java.lang.Object r)
      Greater than
      java.lang.Boolean le​(java.lang.Object l, java.lang.Object r)
      Less than or equals to
      java.lang.Boolean lt​(java.lang.Object l, java.lang.Object r)
      Less than
      java.lang.Boolean ne​(java.lang.Object l, java.lang.Object r)
      Not Equals
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractComparativeField

        public AbstractComparativeField()
    • Method Detail

      • cmp

        public abstract java.lang.Integer cmp​(java.lang.Object l,
                                              java.lang.Object r)
                                       throws EvaluationException
        Compare two elements, return -1,0,1 if the comparison can be carried out, null otherwise.
        Parameters:
        l -
        r -
        Returns:
        -1, 0, 1 if l < r, l==r or l > r respectively, or null if comparison cannot be carried out or
        Throws:
        EvaluationException
      • eq

        public java.lang.Boolean eq​(java.lang.Object l,
                                    java.lang.Object r)
                             throws EvaluationException
        Description copied from interface: FieldI
        Equals
        Specified by:
        eq in interface FieldI
        Parameters:
        l - left hand argument
        r - right hand argument
        Returns:
        an object representing the result or null if it can not be evaluated.
        Throws:
        EvaluationException - on error
      • ne

        public java.lang.Boolean ne​(java.lang.Object l,
                                    java.lang.Object r)
                             throws EvaluationException
        Description copied from interface: FieldI
        Not Equals
        Specified by:
        ne in interface FieldI
        Parameters:
        l - left hand argument
        r - right hand argument
        Returns:
        an object representing the result or null if it can not be evaluated.
        Throws:
        EvaluationException - on error
      • gt

        public java.lang.Boolean gt​(java.lang.Object l,
                                    java.lang.Object r)
                             throws EvaluationException
        Description copied from interface: FieldI
        Greater than
        Specified by:
        gt in interface FieldI
        Parameters:
        l - left hand argument
        r - right hand argument
        Returns:
        an object representing the result or null if it can not be evaluated.
        Throws:
        EvaluationException - on error
      • ge

        public java.lang.Boolean ge​(java.lang.Object l,
                                    java.lang.Object r)
                             throws EvaluationException
        Description copied from interface: FieldI
        Greater or equal to
        Specified by:
        ge in interface FieldI
        Parameters:
        l - left hand argument
        r - right hand argument
        Returns:
        an object representing the result or null if it can not be evaluated.
        Throws:
        EvaluationException - on error
      • lt

        public java.lang.Boolean lt​(java.lang.Object l,
                                    java.lang.Object r)
                             throws EvaluationException
        Description copied from interface: FieldI
        Less than
        Specified by:
        lt in interface FieldI
        Parameters:
        l - left hand argument
        r - right hand argument
        Returns:
        an object representing the result or null if it can not be evaluated.
        Throws:
        EvaluationException - on error
      • le

        public java.lang.Boolean le​(java.lang.Object l,
                                    java.lang.Object r)
                             throws EvaluationException
        Description copied from interface: FieldI
        Less than or equals to
        Specified by:
        le in interface FieldI
        Parameters:
        l - left hand argument
        r - right hand argument
        Returns:
        an object representing the result or null if it can not be evaluated.
        Throws:
        EvaluationException - on error