Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.expr
Class GeneralComparison10

    java.lang.Object
      net.sf.saxon.expr.Expression
          net.sf.saxon.expr.BinaryExpression
              net.sf.saxon.expr.GeneralComparison10

All Implemented Interfaces:
  Serializable, SourceLocator, LocationProvider, SaxonLocator, CallableExpression, InstructionInfo, Locator

    public class GeneralComparison10

extends BinaryExpression
implements CallableExpression

GeneralComparison10: a boolean expression that compares two expressions for equals, not-equals, greater-than or less-than. This implements the operators =, !=, <, >, etc. This version of the class implements general comparisons in XPath 1.0 backwards compatibility mode, as defined in the Oct 2004 revision of the specifications.

See Also:
  Serialized Form

Field Summary
`protected AtomicComparer` | `comparer`
`protected int` | `singletonOperator`

Fields inherited from class net.sf.saxon.expr.BinaryExpression
`operand0, operand1, operator`

Fields inherited from class net.sf.saxon.expr.Expression
`EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD`

Constructor Summary
`GeneralComparison10(Expression p0, int op, Expression p1)` Create a general comparison identifying the two operands and the operator

Method Summary
`SequenceIterator` | `call(SequenceIterator[] arguments, XPathContext context)` Evaluate the expression: interface for use by compiled bytecode
`int` | `computeCardinality()` Determine the static cardinality.
`Expression` | `copy()` Copy an expression.
`boolean` | `effectiveBooleanValue(XPathContext context)` Evaluate the expression giving a boolean result
`Item` | `evaluateItem(XPathContext context)` Evaluate the expression in a given context
`protected void` | `explainExtraAttributes(ExpressionPresenter out)` Add subclass-specific attributes to the expression tree explanation.
`ItemType` | `getItemType(TypeHierarchy th)` Determine the data type of the expression
`Expression` | `optimize(ExpressionVisitor visitor, ExpressionVisitor.ContextItemType contextItemType)` Optimize the expression
`void` | `setAtomicComparer(AtomicComparer comparer)`
`Expression` | `typeCheck(ExpressionVisitor visitor, ExpressionVisitor.ContextItemType contextItemType)` Type-check the expression

Methods inherited from class net.sf.saxon.expr.BinaryExpression
`computeSpecialProperties, displayOperator, equals, explain, getArguments, getOperands, getOperator, hashCode, isAssociative, isCommutative, isInverse, iterateSubExpressions, promote, replaceSubExpression, setFlattened, simplify, toString`

Methods inherited from class net.sf.saxon.expr.Expression
`addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getExpressionName, getHostLanguage, getImplementationMethod, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setLocationId, staticTypeCheck, suppressValidation, typeError`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface net.sf.saxon.expr.CallableExpression
`getArguments`

Field Detail

### singletonOperator

    protected int singletonOperator

### comparer

    protected AtomicComparer comparer

Constructor Detail

### GeneralComparison10

    public GeneralComparison10(Expression p0,
                               int op,
                               Expression p1)

  Create a general comparison identifying the two operands and the operator

  Parameters:
    `p0` - the left-hand operand
    `op` - the operator, as a token returned by the Tokenizer (e.g. Token.LT)
    `p1` - the right-hand operand

Method Detail

### computeCardinality

    public int computeCardinality()

  Determine the static cardinality. Returns [1..1]

  Overrides:
    `computeCardinality` in class `BinaryExpression`
  Returns:
    the computed cardinality, as one of the values `StaticProperty.ALLOWS_ZERO_OR_ONE`, `StaticProperty.EXACTLY_ONE`, `StaticProperty.ALLOWS_ONE_OR_MORE`, `StaticProperty.ALLOWS_ZERO_OR_MORE`

### typeCheck

    public Expression typeCheck(ExpressionVisitor visitor,
                                ExpressionVisitor.ContextItemType contextItemType)
                         throws XPathException

  Type-check the expression

  Overrides:
    `typeCheck` in class `BinaryExpression`
  Parameters:
    `visitor` - an expression visitor
    `contextItemType` - the static type of "." at the point where this expression is invoked. The parameter is set to null if it is known statically that the context item will be undefined. If the type of the context item is not known statically, the argument is set to `Type.ITEM_TYPE`
  Returns:
    the checked expression
  Throws:
    `XPathException` - if an error is discovered during this phase (typically a type error)

### setAtomicComparer

    public void setAtomicComparer(AtomicComparer comparer)

### optimize

    public Expression optimize(ExpressionVisitor visitor,
                               ExpressionVisitor.ContextItemType contextItemType)
                        throws XPathException

  Optimize the expression

  Overrides:
    `optimize` in class `BinaryExpression`
  Parameters:
    `visitor` - an expression visitor
    `contextItemType` - the static type of "." at the point where this expression is invoked. The parameter is set to null if it is known statically that the context item will be undefined. If the type of the context item is not known statically, the argument is set to `Type.ITEM_TYPE`
  Returns:
    the checked expression
  Throws:
    `XPathException` - if an error is discovered during this phase (typically a type error)

### evaluateItem

    public Item evaluateItem(XPathContext context)
                      throws XPathException

  Evaluate the expression in a given context

  Overrides:
    `evaluateItem` in class `Expression`
  Parameters:
    `context` - the given context for evaluation
  Returns:
    a BooleanValue representing the result of the numeric comparison of the two operands
  Throws:
    `XPathException` - if any dynamic error occurs evaluating the expression

### call

    public SequenceIterator call(SequenceIterator[] arguments,
                                 XPathContext context)
                          throws XPathException

  Evaluate the expression: interface for use by compiled bytecode

  Specified by:
    `call` in interface `CallableExpression`
  Parameters:
    `arguments` - the values of the arguments, supplied as SequenceIterators
    `context` - the dynamic evaluation context
  Returns:
    the result of the evaluation, in the form of a SequenceIterator
  Throws:
    `XPathException` - if a dynamic error occurs during the evaluation of the expression

### effectiveBooleanValue

    public boolean effectiveBooleanValue(XPathContext context)
                                  throws XPathException

  Evaluate the expression giving a boolean result

  Overrides:
    `effectiveBooleanValue` in class `Expression`
  Parameters:
    `context` - the given context for evaluation
  Returns:
    a boolean representing the result of the comparison of the two operands
  Throws:
    `XPathException` - if any dynamic error occurs evaluating the expression

### copy

    public Expression copy()

  Copy an expression. This makes a deep copy.

  Specified by:
    `copy` in class `Expression`
  Returns:
    the copy of the original expression

### getItemType

    public ItemType getItemType(TypeHierarchy th)

  Determine the data type of the expression

  Specified by:
    `getItemType` in class `Expression`
  Parameters:
    `th` - the type hierarchy cache
  Returns:
    Type.BOOLEAN

### explainExtraAttributes

    protected void explainExtraAttributes(ExpressionPresenter out)

  Description copied from class: `BinaryExpression`
  Add subclass-specific attributes to the expression tree explanation. Default implementation does nothing; this is provided for subclasses to override.

  Overrides:
    `explainExtraAttributes` in class `BinaryExpression`
  Parameters:
    `out` - the output destination for the displayed expression tree

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.