public AstReadConfigNodeBuilder setMatcherFixedLengthBytes(String name, int valueLength, String valueCaptureName, ExpressionContext environment) { node.setMatcher(name, new AstFixedLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public AstReadConfigNodeBuilder setMatcherVariableLengthBytes(String name, ValueExpression valueLength, String valueCaptureName, ExpressionContext environment) { node.setMatcher(name, new AstVariableLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public StreamNested<R> setMatcherVariableLengthBytes(String name, ValueExpression valueLength, ExpressionContext environment) { node.setMatcher(name, new AstVariableLengthBytesMatcher(valueLength, environment)); return this; }
public AstReadConfigNodeBuilder setMatcherExpression(String name, ValueExpression valueValueExpression, ExpressionContext environment) { node.setMatcher(name, new AstExpressionMatcher(valueValueExpression, environment)); return this; }
public StreamNested<R> setMatcherFixedLengthBytes(String name, int valueLength, String valueCaptureName, ExpressionContext environment) { node.setMatcher(name, new AstFixedLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public AstReadConfigNodeBuilder setMatcherFixedLengthBytes(String name, int valueLength) { node.setMatcher(name, new AstFixedLengthBytesMatcher(valueLength)); return this; }
public StreamNested<R> setMatcherExactBytes(String name, byte[] valueBytes, ExpressionContext environment) { node.setMatcher(name, new AstExactBytesMatcher(valueBytes)); return this; }
public AstReadConfigNodeBuilder setMatcherVariableLengthBytes(String name, ValueExpression valueLength, ExpressionContext environment) { node.setMatcher(name, new AstVariableLengthBytesMatcher(valueLength, environment)); return this; }
public StreamNested<R> setMatcherExpression(String name, ValueExpression valueValueExpression, ExpressionContext environment) { node.setMatcher(name, new AstExpressionMatcher(valueValueExpression, environment)); return this; }
public StreamNested<R> setMatcherVariableLengthBytes(String name, ValueExpression valueLength, String valueCaptureName, ExpressionContext environment) { node.setMatcher(name, new AstVariableLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public AstReadConfigNodeBuilder setMatcherExactBytes(String name, byte[] valueBytes) { node.setMatcher(name, new AstExactBytesMatcher(valueBytes)); return this; }
public AstReadConfigNodeBuilder setMatcherRegex(String name, NamedGroupPattern valuePattern, ExpressionContext environment) { node.setMatcher(name, new AstRegexMatcher(valuePattern, environment)); return this; }
public StreamNested<R> setMatcherRegex(String name, NamedGroupPattern valuePattern, ExpressionContext environment) { node.setMatcher(name, new AstRegexMatcher(valuePattern, environment)); return this; }
public AstReadConfigNodeBuilder setMatcherExactText(String name, String valueExactText) { node.setMatcher(name, new AstExactTextMatcher(valueExactText)); return this; }
public StreamNested<R> setMatcherFixedLengthBytes(String name, int valueLength) { node.setMatcher(name, new AstFixedLengthBytesMatcher(valueLength)); return this; }
public StreamNested<R> setMatcherExactText(String name, String valueExactText) { node.setMatcher(name, new AstExactTextMatcher(valueExactText)); return this; }
@Override public AstReadConfigNode visitMatcher(MatcherContext ctx) { AstValueMatcherVisitor visitor = new AstValueMatcherVisitor(factory, environment); AstValueMatcher matcher = visitor.visit(ctx); if (matcher != null) { if (namedFields.hasNext()) { TypeInfo<?> field = namedFields.next(); node.setMatcher(field.getName(), matcher); } else if (anonymousFields > 0) { anonymousFields--; node.addMatcher(matcher); } else { throw new IllegalStateException(String.format("Unexpected %s syntax", node.getType())); } childInfos().add(matcher.getRegionInfo()); } return node; } }