Package org.mybatis.dynamic.sql
Class AbstractListValueCondition<T>
java.lang.Object
org.mybatis.dynamic.sql.AbstractListValueCondition<T>
- All Implemented Interfaces:
VisitableCondition<T>
- Direct Known Subclasses:
IsIn
,IsInCaseInsensitive
,IsNotIn
,IsNotInCaseInsensitive
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<R> R
accept
(ConditionVisitor<T, R> visitor) abstract AbstractListValueCondition
<T> If renderable, apply the predicate to each value in the list and return a new condition with the filtered values.protected <S extends AbstractListValueCondition<T>>
SfilterSupport
(Predicate<? super T> predicate, Function<Collection<T>, S> constructor, S self, Supplier<S> emptySupplier) boolean
isEmpty()
Subclasses can override this to indicate whether the condition is considered empty.protected <R,
S extends AbstractListValueCondition<R>>
SmapSupport
(Function<? super T, ? extends R> mapper, Function<Collection<R>, S> constructor, Supplier<S> emptySupplier) abstract String
operator()
boolean
shouldRender
(RenderingContext renderingContext) Subclasses can override this to inform the renderer if the condition should not be included in the rendered SQL.values()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.mybatis.dynamic.sql.VisitableCondition
overrideRenderedLeftColumn, renderingSkipped
-
Field Details
-
values
-
-
Constructor Details
-
AbstractListValueCondition
-
-
Method Details
-
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 interfaceVisitableCondition<T>
- Returns:
- true if the condition is empty.
-
shouldRender
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 interfaceVisitableCondition<T>
- Returns:
- true if the condition should render.
-
accept
- Specified by:
accept
in interfaceVisitableCondition<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
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
-