Package org.h2.util.json
Class JSONStringTarget
- java.lang.Object
-
- org.h2.util.json.JSONTarget<java.lang.String>
-
- org.h2.util.json.JSONStringTarget
-
public final class JSONStringTarget extends JSONTarget<java.lang.String>
JSON String target.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanafterName(package private) static byteARRAYA JSON array.private booleanasciiPrintableOnlyprivate java.lang.StringBuilderbuilder(package private) static char[]HEXThe hex characters.private booleanneedSeparator(package private) static byteOBJECTA JSON object.private ByteStackstack
-
Constructor Summary
Constructors Constructor Description JSONStringTarget()Creates new instance of JSON String target.JSONStringTarget(boolean asciiPrintableOnly)Creates new instance of JSON String target.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidafterValue()private voidbeforeValue()static java.lang.StringBuilderencodeString(java.lang.StringBuilder builder, java.lang.String s, boolean asciiPrintableOnly)Encodes a JSON string and appends it to the specified string builder.voidendArray()End of the current array.voidendObject()End of the current object.java.lang.StringgetResult()Returns the result.booleanisPropertyExpected()Returns whether member's name or the end of the current object is expected.booleanisValueSeparatorExpected()Returns whether value separator expected before the next member or value.voidmember(java.lang.String name)Name of a member.voidstartArray()Start of an array.voidstartObject()Start of an object.voidvalueFalse()Parse "false".voidvalueNull()Parse "null".voidvalueNumber(java.math.BigDecimal number)A number value.voidvalueString(java.lang.String string)A string value.voidvalueTrue()Parse "true".
-
-
-
Field Detail
-
HEX
static final char[] HEX
The hex characters.
-
OBJECT
static final byte OBJECT
A JSON object.- See Also:
- Constant Field Values
-
ARRAY
static final byte ARRAY
A JSON array.- See Also:
- Constant Field Values
-
builder
private final java.lang.StringBuilder builder
-
stack
private final ByteStack stack
-
asciiPrintableOnly
private final boolean asciiPrintableOnly
-
needSeparator
private boolean needSeparator
-
afterName
private boolean afterName
-
-
Constructor Detail
-
JSONStringTarget
public JSONStringTarget()
Creates new instance of JSON String target.
-
JSONStringTarget
public JSONStringTarget(boolean asciiPrintableOnly)
Creates new instance of JSON String target.- Parameters:
asciiPrintableOnly- whether all non-printable, non-ASCII characters, and'(single quote) characters should be escaped
-
-
Method Detail
-
encodeString
public static java.lang.StringBuilder encodeString(java.lang.StringBuilder builder, java.lang.String s, boolean asciiPrintableOnly)Encodes a JSON string and appends it to the specified string builder.- Parameters:
builder- the string builder to append tos- the string to encodeasciiPrintableOnly- whether all non-printable, non-ASCII characters, and'(single quote) characters should be escaped- Returns:
- the specified string builder
-
startObject
public void startObject()
Description copied from class:JSONTargetStart of an object.- Specified by:
startObjectin classJSONTarget<java.lang.String>
-
endObject
public void endObject()
Description copied from class:JSONTargetEnd of the current object.- Specified by:
endObjectin classJSONTarget<java.lang.String>
-
startArray
public void startArray()
Description copied from class:JSONTargetStart of an array.- Specified by:
startArrayin classJSONTarget<java.lang.String>
-
endArray
public void endArray()
Description copied from class:JSONTargetEnd of the current array.- Specified by:
endArrayin classJSONTarget<java.lang.String>
-
member
public void member(java.lang.String name)
Description copied from class:JSONTargetName of a member.- Specified by:
memberin classJSONTarget<java.lang.String>- Parameters:
name- the name
-
valueNull
public void valueNull()
Description copied from class:JSONTargetParse "null".nullvalue.- Specified by:
valueNullin classJSONTarget<java.lang.String>
-
valueFalse
public void valueFalse()
Description copied from class:JSONTargetParse "false".falsevalue.- Specified by:
valueFalsein classJSONTarget<java.lang.String>
-
valueTrue
public void valueTrue()
Description copied from class:JSONTargetParse "true".truevalue.- Specified by:
valueTruein classJSONTarget<java.lang.String>
-
valueNumber
public void valueNumber(java.math.BigDecimal number)
Description copied from class:JSONTargetA number value.- Specified by:
valueNumberin classJSONTarget<java.lang.String>- Parameters:
number- the number
-
valueString
public void valueString(java.lang.String string)
Description copied from class:JSONTargetA string value.- Specified by:
valueStringin classJSONTarget<java.lang.String>- Parameters:
string- the string
-
beforeValue
private void beforeValue()
-
afterValue
private void afterValue()
-
isPropertyExpected
public boolean isPropertyExpected()
Description copied from class:JSONTargetReturns whether member's name or the end of the current object is expected.- Specified by:
isPropertyExpectedin classJSONTarget<java.lang.String>- Returns:
trueif it is,falseotherwise
-
isValueSeparatorExpected
public boolean isValueSeparatorExpected()
Description copied from class:JSONTargetReturns whether value separator expected before the next member or value.- Specified by:
isValueSeparatorExpectedin classJSONTarget<java.lang.String>- Returns:
trueif it is,falseotherwise
-
getResult
public java.lang.String getResult()
Description copied from class:JSONTargetReturns the result.- Specified by:
getResultin classJSONTarget<java.lang.String>- Returns:
- the result
-
-