Class AbstractListValueCondition<T>

java.lang.Object
org.mybatis.dynamic.sql.AbstractListValueCondition<T>
All Implemented Interfaces:
RenderableCondition<T>
Direct Known Subclasses:
IsIn, IsInCaseInsensitive, IsInCaseInsensitiveWhenPresent, IsInWhenPresent, IsNotIn, IsNotInCaseInsensitive, IsNotInCaseInsensitiveWhenPresent, IsNotInWhenPresent

public abstract class AbstractListValueCondition<T> extends Object implements RenderableCondition<T>
  • Field Details

  • Constructor Details

    • AbstractListValueCondition

      protected AbstractListValueCondition(Collection<T> values)
  • Method Details

    • values

      public final Stream<T> values()
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: RenderableCondition
      Subclasses can override this to indicate whether the condition is considered empty. This is primarily used in map and filter operations - the map and filter functions will not be applied if the condition is empty.
      Specified by:
      isEmpty in interface RenderableCondition<T>
      Returns:
      true if the condition is empty.
    • filterSupport

      protected <S extends AbstractListValueCondition<T>> S filterSupport(Predicate<? super T> predicate, Function<Collection<T>,S> constructor, S self, Supplier<S> emptySupplier)
    • mapSupport

      protected <R, S extends AbstractListValueCondition<R>> S mapSupport(Function<? super T,? extends R> mapper, Function<Collection<R>,S> constructor, Supplier<S> emptySupplier)
    • operator

      public abstract String operator()
    • renderCondition

      public FragmentAndParameters renderCondition(RenderingContext renderingContext, BindableColumn<T> leftColumn)
      Description copied from interface: RenderableCondition
      Render a condition - typically a condition in a WHERE clause.

      A rendered condition includes an SQL fragment, and any associated parameters. For example, the isEqual condition should be rendered as "= ?" where "?" is a properly formatted parameter marker (the parameter marker can be computed from the RenderingContext). Note that a rendered condition should NOT include the left side of the phrase - that is rendered by the RenderableCondition.renderLeftColumn(RenderingContext, BindableColumn) method.

      Specified by:
      renderCondition in interface RenderableCondition<T>
      Parameters:
      renderingContext - the current rendering context
      leftColumn - the column related to this condition in a where clause
      Returns:
      the rendered condition. Should NOT include the column.