/** * List of items enclosed in brackets. * * @param rule Rule of a list item. * @return Bracket list definition rule. */ protected Rule bracketList(Rule rule) { return Sequence(openBracket(), list(rule), closedBracket()); }
/** * Long definition. * * @return Long definition rule. */ public Rule longLiteral() { return FirstOf(explicitLongLiteral(), implicitLongLiteral()); }
/** * Generator definition. * * @return Generator definition rule. */ public Rule generator() { return FirstOf(discreteValue(), rangeValue(), uuidValue(), circularValue(), circularRangeValue(), listValue(), emptyListValue(), emptyMapValue(), randomLengthListValue(), weightedValue(), exactWeightedValue(), randomContentStringValue(), now(), nowDate(), nowLocalDate(), nowLocalDateTime(), additionValue(), subtractionValue(), multiplicationValue(), divisionValue(), csvReaderValue()); }
/** * Number definition. * * @return Number definition rule. */ public Rule numberLiteral() { return FirstOf(explicitByteLiteral(), explicitShortLiteral(), explicitIntegerLiteral(), explicitLongLiteral(), explicitFloatLiteral(), explicitDoubleLiteral(), implicitDoubleLiteral(), implicitIntegerLiteral(), implicitLongLiteral()); }
/** * 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())); }
/** * Addition value definition. * * @return Addition value definition rule. */ public Rule additionValue() { return Sequence(function("add", Sequence(stringLiteral(), comma(), value(), comma(), value())), push(createAdditionValue())); }
/** * Multiplication value definition. * * @return Multiplication value definition rule. */ public Rule multiplicationValue() { return Sequence(function("multiply", Sequence(stringLiteral(), comma(), value(), comma(), value())), push(createMultiplicationValue())); }
/** * Division value definition. * * @return Division value definition rule. */ public Rule divisionValue() { return Sequence(function("divide", Sequence(stringLiteral(), comma(), value(), comma(), value())), push(createDivisionValue())); }
/** * Identifier definition. * * @return Identifier definition rule. */ public Rule identifier() { return Sequence(Sequence(letter(), ZeroOrMore(letterOrDigit())), push(match())); }
/** * Transformer definition. * * @return Transformer definition rule. */ public Rule transformer() { return FirstOf(stringTransformer(), jsonTransformer(), timeFormatTransformer(), getterTransformer()); }
/** * Closed parenthesis definition. * * @return Closed parenthesis definition rule. */ public Rule closedParenthesis() { return Sequence(ZeroOrMore(whitespace()), ")", ZeroOrMore(whitespace())); }
/** * Function definition. * * @param functionName Name of a function. * @param functionArgument Function argument rule. * @return Function definition rule. */ protected Rule function(String functionName, Rule functionArgument) { return Sequence(functionName, openParenthesis(), functionArgument, closedParenthesis()); }
/** * Function definition. * * @param functionName Name of a function. * @return Function definition rule. */ protected Rule function(String functionName) { return function(functionName, fromStringLiteral("")); }
/** * Sign definition. * * @return Sign definition rule. */ public Rule sign() { return AnyOf("+-"); }
/** * Digit definition. * * @return Digit definition rule. */ public Rule digit() { return CharRange('0', '9'); }