Module org.apache.derby.engine
Package org.apache.derby.vti

# Class Restriction

java.lang.Object
org.apache.derby.vti.Restriction

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `Restriction.AND`, `Restriction.ColumnQualifier`, `Restriction.OR`

public abstract class Restriction extends Object implements Serializable

An expression to be pushed into a Table Function so that the Table Function can short-circuit its processing and return fewer rows. A restriction is represented as a binary tree. The non-leaf nodes are ANDs and ORs. The leaf nodes are ColumnQualifiers. A ColumnQualifier is a simple expression comparing a constant value to a column in the Table Function.

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `Restriction.AND`
  An AND of two Restrictions
  `static class`
  `Restriction.ColumnQualifier`
  A simple comparison of a column to a constant value.
  `static class`
  `Restriction.OR`
  An OR of two Restrictions

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Restriction()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract String`
  `toSQL()`
  Turn this Restriction into a string suitable for use in a WHERE clause.

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Restriction

    public Restriction()

- ## Method Details

  - ### toSQL

    public abstract String toSQL()
    Turn this Restriction into a string suitable for use in a WHERE clause.
    Returns:
      this Restriction as a string suitable for use in a WHERE clause.