public AstReadConfigNodeBuilder addMatcherExpression(ValueExpression valueValueExpression, ExpressionContext environment) { node.addMatcher(new AstExpressionMatcher(valueValueExpression, environment)); return this; }
public StreamNested<R> addMatcherFixedLengthBytes(int valueLength, String valueCaptureName, ExpressionContext environment) { node.addMatcher(new AstFixedLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public StreamNested<R> addMatcherVariableLengthBytes(ValueExpression valueLength, String valueCaptureName, ExpressionContext environment) { node.addMatcher(new AstVariableLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public AstReadConfigNodeBuilder addMatcherFixedLengthBytes(int valueLength) { node.addMatcher(new AstFixedLengthBytesMatcher(valueLength)); return this; }
public AstReadConfigNodeBuilder addMatcherVariableLengthBytes(ValueExpression valueLength, ExpressionContext environment) { node.addMatcher(new AstVariableLengthBytesMatcher(valueLength, environment)); return this; }
public AstReadConfigNodeBuilder addMatcherFixedLengthBytes(int valueLength, String valueCaptureName, ExpressionContext environment) { node.addMatcher(new AstFixedLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public AstReadConfigNodeBuilder addMatcherVariableLengthBytes(ValueExpression valueLength, String valueCaptureName, ExpressionContext environment) { node.addMatcher(new AstVariableLengthBytesMatcher(valueLength, valueCaptureName, environment)); return this; }
public StreamNested<R> addMatcherVariableLengthBytes(ValueExpression valueLength, ExpressionContext environment) { node.addMatcher(new AstVariableLengthBytesMatcher(valueLength, environment)); return this; }
public AstReadConfigNodeBuilder addMatcherExactText(String valueExactText) { node.addMatcher(new AstExactTextMatcher(valueExactText)); return this; }
public AstReadConfigNodeBuilder addMatcherExactBytes(byte[] valueBytes, ExpressionContext environment) { node.addMatcher(new AstExactBytesMatcher(valueBytes)); return this; }
public StreamNested<R> addMatcherFixedLengthBytes(int valueLength) { node.addMatcher(new AstFixedLengthBytesMatcher(valueLength)); return this; }
public StreamNested<R> addMatcherExactText(String valueExactText) { node.addMatcher(new AstExactTextMatcher(valueExactText)); return this; }
public StreamNested<R> addMatcherExactBytes(byte[] valueBytes, ExpressionContext environment) { node.addMatcher(new AstExactBytesMatcher(valueBytes)); return this; }
public AstReadConfigNodeBuilder addMatcherRegex(NamedGroupPattern valuePattern, ExpressionContext environment) { node.addMatcher(new AstRegexMatcher(valuePattern, environment)); return this; }
public StreamNested<R> addMatcherExpression(ValueExpression valueValueExpression, ExpressionContext environment) { node.addMatcher(new AstExpressionMatcher(valueValueExpression, environment)); return this; }
public StreamNested<R> addMatcherRegex(NamedGroupPattern valuePattern, ExpressionContext environment) { node.addMatcher(new AstRegexMatcher(valuePattern, environment)); 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; } }