private void buildModel() { this.proxyValues = new HashMap<>(); this.parser = Parboiled.createParser(ValueExpressionParser.class, proxyValues); this.parseRunner = new ReportingParseRunner<>(parser.value()); if (values != null) { createProxies(); parseValues(); } }
private void buildModel() { this.proxyValues = new HashMap<>(); this.parser = Parboiled.createParser(ValueExpressionParser.class, proxyValues); this.parseRunner = new ReportingParseRunner<>(parser.value()); if (values != null) { createProxies(); parseValues(); } }
/** * Circular value definition. * * @return Circular value definition rule. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Rule circularValue() { return Sequence(function("circular", bracketList(value())), push(new CircularValue((List) pop()))); }
/** * List value definition. * * @return List value definition rule. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Rule listValue() { return Sequence(function("list", bracketList(value())), push(new ListValue((List) pop()))); }
/** * Weighted value pair definition. * * @return Weighted value pair definition rule. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Rule weightedValuePair() { return Sequence(function(Sequence(value(), comma(), numberLiteral())), push(new WeightedValuePair((Value) pop(1), ((Number) pop()).doubleValue()))); }
/** * Getter transformer definition. * * @return Getter transformer definition rule. */ @SuppressWarnings({ "rawtypes" }) public Rule getterTransformer() { return Sequence(function("get", Sequence(stringLiteral(), comma(), value())), push(new GetterTransformer<>((String) pop(1), Object.class, (Value) pop()))); }
/** * Count value pair definition. * * @return Count value pair definition rule. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Rule countValuePair() { return Sequence(function(Sequence(value(), comma(), longLiteral())), push(new CountValuePair((Value) pop(1), (Long) pop()))); }
/** * Discrete value definition. * * @return Discrete value definition rule. */ public Rule discreteValue() { return Sequence(function("random", Sequence(bracketList(value()), Optional(comma(), distribution()))), push(createDiscreteValue())); }
/** * Random content value definition. * * @return Random content value definition rule. */ public Rule randomContentStringValue() { return Sequence(function("randomContentString", Sequence(value(), Optional(comma(), bracketList(charRange())))), push(createRandomContentStringValue())); }
/** * Time format transformer definition. * * @return Time format transformer definition rule. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Rule timeFormatTransformer() { return Sequence(function("time", Sequence(stringLiteral(), comma(), value())), push(new TimeFormatTransformer((String) pop(1), (Value) pop()))); }
/** * Discrete value definition. * * @return Discrete value definition rule. */ public Rule discreteValue() { return Sequence(function("random", Sequence(bracketList(value()), Optional(comma(), distribution()))), push(createDiscreteValue())); }
/** * Getter transformer definition. * * @return Getter transformer definition rule. */ @SuppressWarnings({ "rawtypes" }) public Rule getterTransformer() { return Sequence(function("get", Sequence(stringLiteral(), comma(), value())), push(new GetterTransformer<>((String) pop(1), Object.class, (Value) pop()))); }
/** * String transformer definition. * * @return String transformer definition rule. */ public Rule stringTransformer() { return Sequence(Sequence("string", openParenthesis(), stringLiteral(), push(STRING_VALUE_DELIMITER), ZeroOrMore(comma(), value()), closedParenthesis()), push(getStringValue())); }
/** * Random length list value definition. * * @return Random length list value definition rule. */ public Rule randomLengthListValue() { return Sequence(function("list", Sequence(numberLiteral(), comma(), numberLiteral(), comma(), value(), Optional(comma(), distribution()))), push(createRandomLengthListValue())); }