java.lang.Object
org.springframework.data.relational.core.sql.Comparison
All Implemented Interfaces:
Condition, Expression, Segment, Visitable

public class Comparison extends Object implements Condition
Comparing Condition comparing two Expressions.

Results in a rendered condition: <left> <comparator> <right> (e.g. col = 'predicate'.

Since:
1.1
Author:
Mark Paluch, Jens Schauder
  • Method Details

    • create

      public static Comparison create(Expression leftColumnOrExpression, String comparator, Expression rightColumnOrExpression)
      Creates a new Comparison Condition given two Expressions.
      Parameters:
      leftColumnOrExpression - the left Expression.
      comparator - the comparator.
      rightColumnOrExpression - the right Expression.
      Returns:
      the Comparison condition.
    • create

      public static Comparison create(String unqualifiedColumnName, String comparator, Object rightValue)
      Creates a new Comparison from simple StringP arguments
      Parameters:
      unqualifiedColumnName - gets turned in a Expressions.just(String) and is expected to be an unqualified unique column name but also could be an verbatim expression. Must not be null.
      comparator - must not be null.
      rightValue - is considered a Literal. Must not be null.
      Returns:
      a new Comparison of the first with the third argument using the second argument as comparison operator. Guaranteed to be not null.
      Since:
      2.3
    • not

      public Condition not()
      Description copied from interface: Condition
      Creates a Condition that negates this Condition.
      Specified by:
      not in interface Condition
      Returns:
      the negated Condition.
    • getLeft

      public Expression getLeft()
      Returns:
      the left Expression.
    • getComparator

      public String getComparator()
      Returns:
      the comparator.
    • getRight

      public Expression getRight()
      Returns:
      the right Expression.
    • toString

      public String toString()
      Description copied from interface: Segment
      Return a SQL string representation of this Segment.

      The representation is intended for debugging purposes and an approximation to the generated SQL. While it might work in the context of a specific dialect, you should not assume that the Segment.toString() representation works across multiple databases.

      Specified by:
      toString in interface Segment
      Returns:
      a SQL string representation of this Segment.
    • visit

      public void visit(Visitor visitor)
      Description copied from interface: Visitable
      Accept a Visitor visiting this Visitable and its nested Visitables if applicable.
      Specified by:
      visit in interface Visitable
      Parameters:
      visitor - the visitor to notify, must not be null.
    • hashCode

      public int hashCode()
      Description copied from interface: Segment
      Generate a hash code from thisSegment.

      Hashcode typically derives from the Segment.toString() representation so two Segments yield the same Segment.hashCode() if their Segment.toString() representation matches.

      Specified by:
      hashCode in interface Segment
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
    • equals

      public boolean equals(Object obj)
      Description copied from interface: Segment
      Check whether this Segment is equal to another Segment.

      Equality is typically given if the Segment.toString() representation matches.

      Specified by:
      equals in interface Segment
      Overrides:
      equals in class Object
      Parameters:
      obj - the reference object with which to compare.
      Returns:
      true if this object is the same as the other argument; false otherwise.