public class SimpleDataSerializer
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SimpleDataSerializer.OutputFormatSettings |
private class |
SimpleDataSerializer.ParseContext |
static class |
SimpleDataSerializer.SSONList |
static class |
SimpleDataSerializer.SSONMap |
(package private) static class |
SimpleDataSerializer.Token |
(package private) static class |
SimpleDataSerializer.TokenPattern |
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
END_TOKEN |
private static java.util.regex.Matcher |
identifierMatcher |
private static int |
STRING_ESCAPE_OPTIONS |
| Constructor and Description |
|---|
SimpleDataSerializer() |
| Modifier and Type | Method and Description |
|---|---|
private int[] |
buildSourceIndex(java.lang.CharSequence input) |
private java.lang.String |
formatTrace(java.util.Queue<java.lang.String> trace) |
private boolean |
isListOrMap(java.lang.Object o) |
java.lang.Object |
parse(java.lang.CharSequence input,
int[] characterSourceIndex)
Parses text into an SONMap
characterSourceIndex is an array that provides information about the
original line and column of a particular character index in the final input code.
|
private java.lang.Object |
parseArray(SimpleDataSerializer.ParseContext ctx) |
private java.lang.Number |
parseNumber(SimpleDataSerializer.Token t,
SimpleDataSerializer.ParseContext ctx) |
private java.lang.Object |
parseObject(SimpleDataSerializer.ParseContext ctx) |
private java.lang.Object |
parseSONValue(SimpleDataSerializer.ParseContext ctx) |
private java.lang.String |
parseString(SimpleDataSerializer.Token t,
SimpleDataSerializer.ParseContext ctx) |
static java.lang.String |
quoteIfNeeded(java.lang.String s) |
(package private) SyntaxErrorException |
syntaxErr(java.lang.String message,
int pos,
int[] sourceIndex,
java.lang.String offendingText) |
(package private) SimpleDataSerializer.Token[] |
tokenize(java.lang.CharSequence input,
int[] index,
boolean dropWhitespace,
boolean dropComments) |
java.lang.String |
toString(java.lang.Object value,
SimpleDataSerializer.OutputFormatSettings settings) |
void |
write(java.lang.Object value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings) |
private void |
write(java.lang.Object value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
java.util.Queue<java.lang.String> trace) |
private void |
writeIndent(java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
int level) |
private void |
writeList(java.util.List<?> value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
java.util.Queue<java.lang.String> trace) |
private void |
writeMap(java.util.Map<?,?> value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
java.util.Queue<java.lang.String> trace) |
private java.lang.String |
writeNumber(java.lang.Number n,
SimpleDataSerializer.OutputFormatSettings settings) |
private java.lang.String |
writeString(java.lang.String s,
boolean forceQuotes) |
private static final java.lang.String END_TOKEN
private static transient java.util.regex.Matcher identifierMatcher
private static final int STRING_ESCAPE_OPTIONS
private int[] buildSourceIndex(java.lang.CharSequence input)
private java.lang.String formatTrace(java.util.Queue<java.lang.String> trace)
private boolean isListOrMap(java.lang.Object o)
public java.lang.Object parse(java.lang.CharSequence input,
@Nullable
int[] characterSourceIndex)
throws SyntaxErrorException
SyntaxErrorExceptionprivate java.lang.Object parseArray(SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorExceptionprivate java.lang.Number parseNumber(SimpleDataSerializer.Token t, SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorExceptionprivate java.lang.Object parseObject(SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorExceptionprivate java.lang.Object parseSONValue(SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorExceptionprivate java.lang.String parseString(SimpleDataSerializer.Token t, SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorExceptionpublic static java.lang.String quoteIfNeeded(java.lang.String s)
SyntaxErrorException syntaxErr(java.lang.String message, int pos, int[] sourceIndex, @Nullable java.lang.String offendingText)
SimpleDataSerializer.Token[] tokenize(java.lang.CharSequence input, int[] index, boolean dropWhitespace, boolean dropComments) throws SyntaxErrorException
SyntaxErrorExceptionpublic java.lang.String toString(java.lang.Object value,
SimpleDataSerializer.OutputFormatSettings settings)
throws FormatterException
FormatterExceptionpublic void write(java.lang.Object value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings)
throws java.io.IOException,
FormatterException
java.io.IOExceptionFormatterExceptionprivate void write(java.lang.Object value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
java.util.Queue<java.lang.String> trace)
throws java.io.IOException,
FormatterException
java.io.IOExceptionFormatterExceptionprivate void writeIndent(java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
int level)
throws java.io.IOException
java.io.IOExceptionprivate void writeList(java.util.List<?> value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
java.util.Queue<java.lang.String> trace)
throws java.io.IOException,
FormatterException
java.io.IOExceptionFormatterExceptionprivate void writeMap(java.util.Map<?,?> value,
java.io.Writer out,
SimpleDataSerializer.OutputFormatSettings settings,
java.util.Queue<java.lang.String> trace)
throws java.io.IOException,
FormatterException
java.io.IOExceptionFormatterExceptionprivate java.lang.String writeNumber(java.lang.Number n,
SimpleDataSerializer.OutputFormatSettings settings)
private java.lang.String writeString(java.lang.String s,
boolean forceQuotes)