Class ParameterParser
- All Implemented Interfaces:
org.parboiled.ContextAware<Object>
Parser containing rules for publishing server commands and param listings.
Additionally some static methods for calling the parser and caching the results.Typically parse results are taken from a cache and new parser runs are only started if an item was not found in stack. Parsing itself is a synchronized - so it will block other threads to run a new parse. On typical systems a run may take less than 1 msec.
Developers will rarely use this class directly, but call any of the interpret methods of the
ParameterInterpreter instead.
For more information, please refer to the ParameterInterpreter
SDK documentation or to the Howto for the ParameterParser and related classes.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassA call for the parameter interpreter. static: call using java class name, i.e.static classA parameter for the parameter interpreter. -
Field Summary
Fields inherited from class org.parboiled.BaseParser
ANY, DEDENT, EMPTY, EOI, INDENT, NOTHING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncacheParse(String input) Retrieve a parsing result for the input string from the internal cache or create a new one.static voidClear the cache of already parsed params.static intRetrieve the size of internal cache for parsing results.Runs a parse and returns the result as list of Objects.Methods inherited from class com.priint.pubserver.parameterparser.BaseParameterParser
FirstOf, fromStringLiteral, OneOrMore, OneOrMore, Optional, ZeroOrMoreMethods inherited from class org.parboiled.BaseParser
ACTION, AnyOf, AnyOf, AnyOf, Ch, CharRange, FirstOf, fromCharArray, fromCharLiteral, IgnoreCase, IgnoreCase, IgnoreCase, newInstance, NoneOf, NoneOf, NTimes, NTimes, Optional, Sequence, Sequence, String, String, Test, Test, TestNot, TestNot, toRule, toRules, ZeroOrMoreMethods inherited from class org.parboiled.BaseActions
currentChar, currentIndex, drop, drop, dup, getContext, hasError, inPredicate, match, matchedChar, matchEnd, matchLength, matchOrDefault, matchRange, matchStart, nodeSuppressed, peek, peek, poke, poke, pop, pop, position, push, push, pushAll, setContext, swap, swap3, swap4, swap5, swap6
-
Constructor Details
-
ParameterParser
public ParameterParser()
-
-
Method Details
-
cacheParse
Retrieve a parsing result for the input string from the internal cache or create a new one.If not found a new parse will be triggered and the result stored in the cache.
- Parameters:
input- string of parameters to be parsed, typically a command to be interpreted- Returns:
- List of Objects
- Throws:
ParameterInterpreterException- when parse run fails
-
getCacheSize
public static int getCacheSize()Retrieve the size of internal cache for parsing results.- Returns:
- size
-
parse
Runs a parse and returns the result as list of Objects.Parsing errors will be written as warnings to the log.
This method blocks other threads from executing it until it returns. Expect single parses to return in less than 1 msec.
- Parameters:
paramString- input string to be parsed- Returns:
- parse result
- Throws:
ParameterInterpreterException- if the run returned no result, because the input is not valid
-
clearParsingResults
public static void clearParsingResults()Clear the cache of already parsed params.
-