Class Expression

    • Field Detail

      • HASH_CODE_NOT_COMPUTED

        protected static final int HASH_CODE_NOT_COMPUTED
        The constant integer hash code value meaning the hash code has not yet been computed.
        See Also:
        Constant Field Values
      • HASH_FACTOR

        protected static final int HASH_FACTOR
        A factor for computing the hash code for all expressions.
        See Also:
        Constant Field Values
      • ATT_VALUE

        protected static final String ATT_VALUE
        Name of the value attribute of an expression (value is value).
        See Also:
        Constant Field Values
    • Constructor Detail

      • Expression

        public Expression()
    • Method Detail

      • equals

        protected static final boolean equals​(Object left,
                                              Object right)
        Checks whether two objects are equal using the equals(Object) method of the left object. This method handles null for either the left or right object.
        Parameters:
        left - the first object to compare; may be null.
        right - the second object to compare; may be null.
        Returns:
        true if the two objects are equivalent; false otherwise.
        Since:
        3.2
      • equals

        protected static final boolean equals​(Object[] leftArray,
                                              Object[] rightArray)
        Tests whether two arrays of objects are equal to each other. The arrays must not be null, but their elements may be null.
        Parameters:
        leftArray - the left array to compare; may be null, and may be empty and may contain null elements.
        rightArray - the right array to compare; may be null, and may be empty and may contain null elements.
        Returns:
        true if the arrays are equal length and the elements at the same position are equal; false otherwise.
        Since:
        3.2
      • hashCode

        protected static final int hashCode​(Object object)
        Returns the hash code for the given object. This method handles null.
        Parameters:
        object - the object for which the hash code is desired; may be null.
        Returns:
        The hash code of the object; zero if the object is null.
        Since:
        3.2
      • hashCode

        protected static final int hashCode​(Object[] array)
        Returns the hash code for the given array. This method handles null.
        Parameters:
        array - the array for which the hash code is desired; may be null.
        Returns:
        the hash code of the array; zero if the object is null.
        Since:
        3.2
      • evaluate

        public abstract EvaluationResult evaluate​(IEvaluationContext context)
                                           throws CoreException
        Evaluates this expression.
        Parameters:
        context - an evaluation context providing information like variable, name spaces, etc. necessary to evaluate this expression
        Returns:
        the result of the expression evaluation
        Throws:
        CoreException - if the evaluation failed. The concrete reason is defined by the subclass implementing this method
      • computeExpressionInfo

        public final ExpressionInfo computeExpressionInfo()
        Computes the expression information for the given expression tree.

        This is a convenience method for collecting the expression information using collectExpressionInfo(ExpressionInfo).

        Returns:
        the expression information
        Since:
        3.2
      • collectExpressionInfo

        public void collectExpressionInfo​(ExpressionInfo info)
        Collects information about this expression tree. This default implementation add the expression's type to the set of misbehaving expression types.
        Parameters:
        info - the expression information object used to collect the information
        Since:
        3.2
      • computeHashCode

        protected int computeHashCode()
        Method to compute the hash code for this object. The result returned from this method in cached in the fHashCode field. If the value returned from the method equals HASH_CODE_NOT_COMPUTED (e.g. -1) then the value is incremented by one.

        This default implementation calls super.hashCode()

        Returns:
        a hash code for this object.
        Since:
        3.2
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object