Class ParameterParser
- java.lang.Object
-
- org.parboiled.BaseActions<V>
-
- org.parboiled.BaseParser<java.lang.Object>
-
- com.priint.pubserver.parameterparser.BaseParameterParser
-
- com.priint.pubserver.parameterparser.ParameterParser
-
- All Implemented Interfaces:
org.parboiled.ContextAware<java.lang.Object>
public class ParameterParser extends BaseParameterParser
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
ParameterInterpreterinstead.For more information, please refer to the
ParameterInterpreterSDK documentation or to the Howto for the ParameterParser and related classes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classParameterParser.CallA call for the parameter interpreter. static: call using java class name, i.e.static classParameterParser.ParamA parameter for the parameter interpreter.
-
Constructor Summary
Constructors Constructor Description ParameterParser()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.List<java.lang.Object>cacheParse(java.lang.String input)Retrieve a parsing result for the input string from the internal cache or create a new one.static voidclearParsingResults()Clear the cache of already parsed params.static intgetCacheSize()Retrieve the size of internal cache for parsing results.static java.util.List<java.lang.Object>parse(java.lang.String paramString)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, ZeroOrMore
-
Methods 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, ZeroOrMore
-
Methods 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
-
-
-
-
Method Detail
-
cacheParse
public static java.util.List<java.lang.Object> cacheParse(java.lang.String input) throws ParameterInterpreterExceptionRetrieve 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
public static java.util.List<java.lang.Object> parse(java.lang.String paramString) throws ParameterInterpreterExceptionRuns 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.
-
-