/** * Function definition. * * @param functionArgument Function argument rule. * @return Function definition rule. */ protected Rule function(Rule functionArgument) { return function("", functionArgument); }
/** * Function definition. * * @param functionArgument Function argument rule. * @return Function definition rule. */ protected Rule function(Rule functionArgument) { return function("", functionArgument); }
/** * Uniform distribution definition. * * @return Uniform distribution definition rule. */ public Rule uniformDistribution() { return Sequence(function("uniform"), push(new UniformDistribution())); }
/** * UUID value definition. * * @return UUID value definition rule. */ public Rule uuidValue() { return Sequence(function("uuid"), push(new UUIDValue())); }
/** * Now definition. * * @return Now definition rule. */ public Rule now() { return Sequence(function("now"), push(new NowValue())); }
/** * Now local date definition. * * @return Now local date definition rule. */ public Rule nowLocalDate() { return Sequence(function("nowLocalDate"), push(new NowLocalDateValue())); }
/** * Now local date time definition. * * @return Now local date time definition rule. */ public Rule nowLocalDateTime() { return Sequence(function("nowLocalDateTime"), push(new NowLocalDateTimeValue())); }
/** * Empty map value definition. * * @return Empty map value definition rule. */ @SuppressWarnings({ "rawtypes" }) public Rule emptyMapValue() { return Sequence(function("emptyMap"), push(new EmptyMapValue())); }
/** * Normal distribution definition. * * @return Normal distribution definition rule. */ public Rule normalDistribution() { return Sequence(function("normal", list(numberLiteral())), push(createNormalDistribution())); }
/** * JSON transformer definition. * * @return JSON transformer definition rule. */ public Rule jsonTransformer() { return Sequence(function("json", valueReference()), push(new JsonTransformer((Value<?>) pop()))); }
/** * 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()))); }
/** * Exact weighted value definition. * * @return Weighted value definition rule. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Rule exactWeightedValue() { return Sequence(function("exactly", bracketList(countValuePair())), push(new ExactWeightedValue<>((List) pop()))); }
/** * Explicit integer definition. * * @return Explicit integer definition rule. */ public Rule explicitIntegerLiteral() { return Sequence(function("int", Sequence(Sequence(Optional(sign()), unsignedIntegerLiteral()), push(match()))), push(Integer.parseInt((String) pop()))); }
/** * Short definition. * * @return Short definition rule. */ public Rule explicitShortLiteral() { return Sequence( function("short", Sequence(Sequence(Optional(sign()), unsignedIntegerLiteral()), push(match()))), push(Short.parseShort((String) pop()))); }
/** * 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()))); }
/** * Addition value definition. * * @return Addition value definition rule. */ public Rule additionValue() { return Sequence(function("add", Sequence(stringLiteral(), comma(), value(), comma(), value())), push(createAdditionValue())); }
/** * Division value definition. * * @return Division value definition rule. */ public Rule divisionValue() { return Sequence(function("divide", Sequence(stringLiteral(), comma(), value(), comma(), value())), push(createDivisionValue())); }
/** * Discrete value definition. * * @return Discrete value definition rule. */ public Rule discreteValue() { return Sequence(function("random", Sequence(bracketList(value()), Optional(comma(), distribution()))), push(createDiscreteValue())); }
/** * Subtraction value definition. * * @return Subtraction value definition rule. */ public Rule subtractionValue() { return Sequence(function("subtract", Sequence(stringLiteral(), comma(), value(), comma(), value())), push(createSubtractionValue())); }