package org.vertexium.cypher.ast.model; import org.vertexium.cypher.exceptions.VertexiumCypherNotImplemented; import java.util.List; import java.util.stream.Stream; public class CypherMergeClause extends CypherClause { private final CypherPatternPart patternPart; private final List<CypherMergeAction> mergeActions; public CypherMergeClause(CypherPatternPart patternPart, List<CypherMergeAction> mergeActions) { this.patternPart = patternPart; this.mergeActions = mergeActions; } public CypherPatternPart getPatternPart() { return patternPart; } public List<CypherMergeAction> getMergeActions() { return mergeActions; } @Override public Stream<? extends CypherAstBase> getChildren() { return Stream.concat( Stream.of(getPatternPart()), getMergeActions().stream() ); } @Override public String toString() { StringBuilder result = new StringBuilder(); result.append("MERGE "); result.append(getPatternPart()); for (CypherMergeAction mergeAction : getMergeActions()) { result.append(" "); result.append(mergeAction.toString()); } return result.toString(); } }