Package org.apache.groovy.json.internal
Class JsonFastParser
java.lang.Object
org.apache.groovy.json.internal.BaseJsonParser
org.apache.groovy.json.internal.JsonParserCharArray
org.apache.groovy.json.internal.JsonFastParser
- All Implemented Interfaces:
JsonParser
This works in index overlay mode or chop mode.
Chop mode reduces possibility of memory leak but causes a few more buffer copies as it chops up the buffer.
-
Field Summary
Fields inherited from class org.apache.groovy.json.internal.JsonParserCharArray
__currentChar, __index, charArray, FALSE, NULL, TRUEFields inherited from class org.apache.groovy.json.internal.BaseJsonParser
ALPHA_0, ALPHA_1, ALPHA_2, ALPHA_3, ALPHA_4, ALPHA_5, ALPHA_6, ALPHA_7, ALPHA_8, ALPHA_9, bufSize, charset, CLOSED_BRACKET, CLOSED_CURLY, COLON, COMMA, DECIMAL_POINT, DOUBLE_QUOTE, ESCAPE, internedKeysCache, internKeys, LETTER_BIG_E, LETTER_E, MINUS, PLUS -
Constructor Summary
ConstructorsConstructorDescriptionCreates a parser with eager value containers and lazy chopping.JsonFastParser(boolean useValues) Creates a parser with the supplied value-container mode.JsonFastParser(boolean useValues, boolean chop) Creates a parser with explicit chopping behavior.JsonFastParser(boolean useValues, boolean chop, boolean lazyChop) Creates a parser with explicit lazy chopping behavior.JsonFastParser(boolean useValues, boolean chop, boolean lazyChop, boolean checkDates) Creates a parser with full overlay configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected final ObjectdecodeFromChars(char[] cs) Parses a character buffer and unwraps top-level container values.protected final ValueDecodes an object using overlay values and deferred materialization.protected ValueDecodes the next JSON value as an overlayValue.Methods inherited from class org.apache.groovy.json.internal.JsonParserCharArray
complain, currentChar, decodeFalse, decodeJsonArray, decodeJsonObject, decodeNull, decodeTrue, exceptionDetails, hasCurrent, hasMore, nextChar, parse, skipWhiteSpaceMethods inherited from class org.apache.groovy.json.internal.BaseJsonParser
charDescription, findEndQuote, hasEscapeChar, isDecimalChar, isDelimiter, isDoubleQuote, isEscape, isNumberDigit, parse, parse, parse, parse, parse, parse, parse, parse, setCharset
-
Constructor Details
-
JsonFastParser
public JsonFastParser()Creates a parser with eager value containers and lazy chopping. -
JsonFastParser
public JsonFastParser(boolean useValues) Creates a parser with the supplied value-container mode.- Parameters:
useValues- whether to use eagerValuecontainers
-
JsonFastParser
public JsonFastParser(boolean useValues, boolean chop) Creates a parser with explicit chopping behavior.- Parameters:
useValues- whether to use eagerValuecontainerschop- whether to eagerly copy overlay slices
-
JsonFastParser
public JsonFastParser(boolean useValues, boolean chop, boolean lazyChop) Creates a parser with explicit lazy chopping behavior.- Parameters:
useValues- whether to use eagerValuecontainerschop- whether to eagerly copy overlay sliceslazyChop- whether to defer chopping until values are accessed
-
JsonFastParser
public JsonFastParser(boolean useValues, boolean chop, boolean lazyChop, boolean checkDates) Creates a parser with full overlay configuration.- Parameters:
useValues- whether to use eagerValuecontainerschop- whether to eagerly copy overlay sliceslazyChop- whether to defer chopping until values are accessedcheckDates- whether strings should be tested for supported date formats
-
-
Method Details
-
decodeJsonObjectLazyFinalParse
Decodes an object using overlay values and deferred materialization.- Returns:
- parsed object value container
-
decodeValue
Decodes the next JSON value as an overlayValue.- Overrides:
decodeValuein classJsonParserCharArray- Returns:
- parsed overlay value
-
decodeFromChars
Parses a character buffer and unwraps top-level container values.- Overrides:
decodeFromCharsin classJsonParserCharArray- Parameters:
cs- JSON content to parse- Returns:
- parsed Groovy JSON value
-