Interface StarColumnPredicate

All Superinterfaces:
StarPredicate
All Known Implementing Classes:
AbstractColumnPredicate, ListColumnPredicate, LiteralStarPredicate, MemberColumnPredicate, MinusStarPredicate, RangeColumnPredicate, ValueColumnPredicate

public interface StarColumnPredicate extends StarPredicate
Refinement of StarPredicate which constrains precisely one column.
Since:
Jan 15, 2007
Author:
jhyde
  • Method Details

    • values

      void values(Collection<Object> collection)
      Adds the values in this constraint to a collection.
      Parameters:
      collection - Collection to add values to
    • evaluate

      boolean evaluate(Object value)
      Returns whether this constraint would return true for a given value.
      Parameters:
      value - Value
      Returns:
      Whether predicate is true
    • getConstrainedColumn

      RolapStar.Column getConstrainedColumn()
      Returns the column constrained by this predicate.
      Returns:
      Column constrained by this predicate.
    • intersect

      Applies this predicate to a predicate from the axis of a segment, and tests for overlap. The result might be that there is no overlap, full overlap (so the constraint can be removed), or partial overlap (so the constraint will need to be replaced with a stronger constraint, say 'x > 10' is replaced with 'x > 20').
      Parameters:
      predicate - Predicate
      Returns:
      description of overlap between predicates, if any
    • mightIntersect

      boolean mightIntersect(StarPredicate other)
      Returns whether this predicate might intersect another predicate. That is, whether there might be a value which holds true for both constraints.
      Parameters:
      other - Other constraint
      Returns:
      Whether constraints intersect
    • minus

      Description copied from interface: StarPredicate
      Returns the logical inverse of this Predicate. The result is a Predicate which holds whenever this predicate holds but the other does not.
      Specified by:
      minus in interface StarPredicate
      Parameters:
      predicate - Predicate
      Returns:
      Combined predicate
    • orColumn

      Returns this union of this Predicate with another.

      Unlike StarPredicate.or(mondrian.rolap.StarPredicate), the other predicate must be on this column, and the result is a column predicate.

      Parameters:
      predicate - Another predicate on this column
      Returns:
      Union predicate on this column
    • cloneWithColumn

      StarColumnPredicate cloneWithColumn(RolapStar.Column column)
      This method is required because unfortunately some ColumnPredicate objects are created without a column.

      We call this method to provide a fake column, then call StarPredicate.toSql(mondrian.rolap.sql.SqlQuery, StringBuilder).

      todo: remove this method when bug MONDRIAN-313 and bug MONDRIAN-314 are fixed.