![JAR search and dependency download from the Maven repository](/logo.png)
net.dongliu.dbutils.sqlbuilder.DynamicNode Maven / Gradle / Ivy
package net.dongliu.dbutils.sqlbuilder;
import javax.annotation.Nonnull;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.function.Consumer;
/**
* @author Liu Dong
*/
public class DynamicNode extends SQLNode {
private final String prefix;
private final String suffix;
private final Set trimBegin;
private final Set trimEnd;
private final ArrayList nodeList = new ArrayList<>(8);
public DynamicNode(String prefix, String suffix, Set trimBegin, Set trimEnd) {
this.prefix = prefix;
this.suffix = suffix;
this.trimBegin = trimBegin;
this.trimEnd = trimEnd;
}
/**
* If block
*/
public DynamicNode if_(boolean condition, Consumer consumer) {
HubNode hubNode = new HubNode();
if (condition) {
consumer.accept(hubNode);
nodeList.add(hubNode);
}
return this;
}
@Nonnull
@Override
protected SQLSegment segment() {
if (nodeList.isEmpty()) {
return new SQLSegment(Collections.emptyList(), Collections.emptyList());
}
List clauses = new ArrayList<>();
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy