Class AbstractListValueCondition<T>

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

public abstract class AbstractListValueCondition<T> extends Object implements VisitableCondition<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: VisitableCondition
      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 VisitableCondition<T>
      Returns:
      true if the condition is empty.
    • shouldRender

      public boolean shouldRender(RenderingContext renderingContext)
      Description copied from interface: VisitableCondition
      Subclasses can override this to inform the renderer if the condition should not be included in the rendered SQL. Typically, conditions will not render if they are empty.
      Specified by:
      shouldRender in interface VisitableCondition<T>
      Returns:
      true if the condition should render.
    • accept

      public <R> R accept(ConditionVisitor<T,R> visitor)
      Specified by:
      accept in interface VisitableCondition<T>
    • 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)
    • filter

      public abstract AbstractListValueCondition<T> filter(Predicate<? super T> predicate)
      If renderable, apply the predicate to each value in the list and return a new condition with the filtered values. Else returns a condition that will not render (this). If all values are filtered out of the value list, then the condition will not render.
      Parameters:
      predicate - predicate applied to the values, if renderable
      Returns:
      a new condition with filtered values if renderable, otherwise a condition that will not render.
    • operator

      public abstract String operator()