@Override public final Pattern and(Pattern pattern) { return Graql.and(this, pattern); }
/** * @param patterns an array of patterns to match * @return a pattern that will match only when all contained patterns match */ @CheckReturnValue public static Pattern and(Pattern... patterns) { return and(Arrays.asList(patterns)); }
@Override public Pattern visitAndPattern(GraqlParser.AndPatternContext ctx) { return and(visitPatterns(ctx.patterns())); }
@Override public UnaryOperator<VarPattern> visitPropWhen(GraqlParser.PropWhenContext ctx) { return var -> var.when(and(visitPatterns(ctx.patterns()))); }
@Override public UnaryOperator<VarPattern> visitPropThen(GraqlParser.PropThenContext ctx) { return var -> var.then(and(visitVarPatterns(ctx.varPatterns()))); }