All Implemented Interfaces:
Serializable, Cloneable

public class LogicalExpression extends CompoundExpression
Used for logical AND and OR. This is not used by NOT.
See Also:
  • Constructor Details

    • LogicalExpression

      public LogicalExpression()
  • Method Details

    • descriptionOfNodeType

      public String descriptionOfNodeType()
      INTERNAL: Used for debug printing.
      Overrides:
      descriptionOfNodeType in class CompoundExpression
    • doesConform

      public boolean doesConform(Object object, AbstractSession session, AbstractRecord translationRow, int valueHolderPolicy, boolean objectIsUnregistered)
      INTERNAL: Check if the object conforms to the expression in memory. This is used for in-memory querying. If the expression in not able to determine if the object conform throw a not supported exception.
      Overrides:
      doesConform in class Expression
      Parameters:
      objectIsUnregistered - true if object possibly not a clone, but is being conformed against the unit of work cache; if object is not in the UOW cache but some of its attributes are, use the registered versions of object's attributes for the purposes of this method.
    • extractValues

      public boolean extractValues(boolean primaryKeyOnly, boolean requireExactMatch, ClassDescriptor descriptor, AbstractRecord primaryKeyRow, AbstractRecord translationRow)
      INTERNAL: Extract the values from the expression into the row. Ensure that the query is querying the exact primary key. Return false if not on the primary key.
      Overrides:
      extractValues in class Expression
    • extractFields

      public boolean extractFields(boolean requireExactMatch, boolean primaryKey, ClassDescriptor descriptor, List<DatabaseField> searchFields, Set<DatabaseField> foundFields)
      INTERNAL: Return if the expression is not a valid primary key expression and add all primary key fields to the set.
      Overrides:
      extractFields in class Expression
    • isLogicalExpression

      public boolean isLogicalExpression()
      INTERNAL:
      Overrides:
      isLogicalExpression in class Expression