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 boolean
afterName
(package private) static byte
ARRAY
A JSON array.private boolean
asciiPrintableOnly
private java.lang.StringBuilder
builder
(package private) static char[]
HEX
The hex characters.private boolean
needSeparator
(package private) static byte
OBJECT
A JSON object.private ByteStack
stack
-
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 void
afterValue()
private void
beforeValue()
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.void
endArray()
End of the current array.void
endObject()
End of the current object.java.lang.String
getResult()
Returns the result.boolean
isPropertyExpected()
Returns whether member's name or the end of the current object is expected.boolean
isValueSeparatorExpected()
Returns whether value separator expected before the next member or value.void
member(java.lang.String name)
Name of a member.void
startArray()
Start of an array.void
startObject()
Start of an object.void
valueFalse()
Parse "false".void
valueNull()
Parse "null".void
valueNumber(java.math.BigDecimal number)
A number value.void
valueString(java.lang.String string)
A string value.void
valueTrue()
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:JSONTarget
Start of an object.- Specified by:
startObject
in classJSONTarget<java.lang.String>
-
endObject
public void endObject()
Description copied from class:JSONTarget
End of the current object.- Specified by:
endObject
in classJSONTarget<java.lang.String>
-
startArray
public void startArray()
Description copied from class:JSONTarget
Start of an array.- Specified by:
startArray
in classJSONTarget<java.lang.String>
-
endArray
public void endArray()
Description copied from class:JSONTarget
End of the current array.- Specified by:
endArray
in classJSONTarget<java.lang.String>
-
member
public void member(java.lang.String name)
Description copied from class:JSONTarget
Name of a member.- Specified by:
member
in classJSONTarget<java.lang.String>
- Parameters:
name
- the name
-
valueNull
public void valueNull()
Description copied from class:JSONTarget
Parse "null".null
value.- Specified by:
valueNull
in classJSONTarget<java.lang.String>
-
valueFalse
public void valueFalse()
Description copied from class:JSONTarget
Parse "false".false
value.- Specified by:
valueFalse
in classJSONTarget<java.lang.String>
-
valueTrue
public void valueTrue()
Description copied from class:JSONTarget
Parse "true".true
value.- Specified by:
valueTrue
in classJSONTarget<java.lang.String>
-
valueNumber
public void valueNumber(java.math.BigDecimal number)
Description copied from class:JSONTarget
A number value.- Specified by:
valueNumber
in classJSONTarget<java.lang.String>
- Parameters:
number
- the number
-
valueString
public void valueString(java.lang.String string)
Description copied from class:JSONTarget
A string value.- Specified by:
valueString
in classJSONTarget<java.lang.String>
- Parameters:
string
- the string
-
beforeValue
private void beforeValue()
-
afterValue
private void afterValue()
-
isPropertyExpected
public boolean isPropertyExpected()
Description copied from class:JSONTarget
Returns whether member's name or the end of the current object is expected.- Specified by:
isPropertyExpected
in classJSONTarget<java.lang.String>
- Returns:
true
if it is,false
otherwise
-
isValueSeparatorExpected
public boolean isValueSeparatorExpected()
Description copied from class:JSONTarget
Returns whether value separator expected before the next member or value.- Specified by:
isValueSeparatorExpected
in classJSONTarget<java.lang.String>
- Returns:
true
if it is,false
otherwise
-
getResult
public java.lang.String getResult()
Description copied from class:JSONTarget
Returns the result.- Specified by:
getResult
in classJSONTarget<java.lang.String>
- Returns:
- the result
-
-