Class Empty

All Implemented Interfaces:
Iterable<Item>

public final class Empty extends Item
Empty sequence.
Author:
BaseX Team 2005-21, BSD License, Christian Gruen
  • Field Details

    • VALUE

      public static final Empty VALUE
      Single instance.
    • ITER

      public static final BasicIter<Item> ITER
      Empty iterator.
  • Method Details

    • vacuous

      public boolean vacuous()
      Description copied from class: Expr
      Tests if this is a vacuous expression (empty sequence or error function). This check is needed for updating queries.
      Overrides:
      vacuous in class Expr
      Returns:
      result of check
    • size

      public long size()
      Description copied from class: Expr
      Returns the result size, or -1 if the size is unknown.
      Overrides:
      size in class Item
      Returns:
      result of check
    • toJava

      public Object toJava()
      Description copied from class: Value
      Returns a Java representation of the value.
      Specified by:
      toJava in class Value
      Returns:
      Java object
    • iter

      public BasicIter<Item> iter()
      Description copied from class: Value
      Returns an iterator.
      Overrides:
      iter in class Item
      Returns:
      iterator
    • ebv

      public Item ebv(QueryContext qc, InputInfo ii)
      Description copied from class: Expr

      Checks if the effective boolean value can be computed for this expression:

      • If it yields an empty sequence, Bln.FALSE will be returned.
      • If it yields a single item, this item will be returned.
      • If it yields nodes, the first node will be returned.
      • Otherwise, an error will be raised.

      A single numeric item may later be evaluated as positional predicate.

      Overrides:
      ebv in class Item
      Parameters:
      qc - query context
      ii - input info (required for Seq instances, which have no input info)
      Returns:
      item
    • test

      public Item test(QueryContext qc, InputInfo ii)
      Description copied from class: Expr
      Performs a predicate test and returns the item if the test was successful. The returned item is required for full-text scoring.
      Overrides:
      test in class Item
      Parameters:
      qc - query context
      ii - input info (required for Seq instances, which have no input info)
      Returns:
      item or null
    • string

      public byte[] string(InputInfo ii)
      Description copied from class: Item
      Returns a string representation of the value.
      Specified by:
      string in class Item
      Parameters:
      ii - input info (can be null)
      Returns:
      string value
    • eq

      public boolean eq(Item item, Collation coll, StaticContext sc, InputInfo ii)
      Description copied from class: Item
      Compares the items for equality.
      Specified by:
      eq in class Item
      Parameters:
      item - item to be compared
      coll - collation (can be null)
      sc - static context; required for comparing items of type xs:QName (can be null)
      ii - input info (can be null)
      Returns:
      result of check
    • subsequence

      public Empty subsequence(long start, long length, QueryContext qc)
      Description copied from class: Value
      Returns a subsequence of this value with the given start and length. The following properties must hold:
      • start >= 0,
      • length >= 0,
      • length <= size() - start
      Overrides:
      subsequence in class Item
      Parameters:
      start - starting position
      length - number of items
      qc - query context
      Returns:
      sub sequence
    • seqType

      public SeqType seqType()
      Description copied from class: Expr
      Returns the static type of the resulting value.
      Overrides:
      seqType in class Item
      Returns:
      result of check
    • hash

      public int hash(InputInfo ii)
      Description copied from class: Value
      Returns a hash code for this value.
      Overrides:
      hash in class Item
      Parameters:
      ii - input info
      Returns:
      hash code
    • atomIter

      public Iter atomIter(QueryContext qc, InputInfo ii)
      Description copied from class: Expr
      Evaluates the expression and returns an iterator on the resulting, atomized items.
      Overrides:
      atomIter in class Expr
      Parameters:
      qc - query context
      ii - input info
      Returns:
      iterator
    • atomSize

      public long atomSize()
      Description copied from class: Item
      Computes the number of atomized items. Overwritten by XQArray.
      Overrides:
      atomSize in class Item
      Returns:
      atomized item
    • simplifyFor

      public Expr simplifyFor(CompileContext.Simplify mode, CompileContext cc)
      Description copied from class: Expr
      This function is called at compile time for expressions whose operands might be simplified.
      Overrides:
      simplifyFor in class Expr
      Parameters:
      mode - mode of simplification
      cc - compilation context
      Returns:
      simplified or original expression
      See Also:
    • equals

      public boolean equals(Object obj)
      Description copied from class: Expr
      This function is e.g. called by:
      Specified by:
      equals in class Expr
    • description

      public String description()
      Description copied from class: ExprInfo
      Returns a string description of the expression. This method is only called by error messages. Contrary to the ExprInfo.toString() method, arguments are not included in the output.
      Overrides:
      description in class Item
      Returns:
      result of check
    • plan

      public void plan(QueryPlan plan)
      Description copied from class: ExprInfo
      Creates a query plan.
      Overrides:
      plan in class Item
      Parameters:
      plan - expression plan
    • plan

      public void plan(QueryString qs)
      Description copied from class: ExprInfo
      Creates a query string.
      Specified by:
      plan in class ExprInfo
      Parameters:
      qs - query string builder