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
SyntaxErrorException
private java.lang.Object parseArray(SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorException
private java.lang.Number parseNumber(SimpleDataSerializer.Token t, SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorException
private java.lang.Object parseObject(SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorException
private java.lang.Object parseSONValue(SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorException
private java.lang.String parseString(SimpleDataSerializer.Token t, SimpleDataSerializer.ParseContext ctx) throws SyntaxErrorException
SyntaxErrorException
public 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
SyntaxErrorException
public java.lang.String toString(java.lang.Object value, SimpleDataSerializer.OutputFormatSettings settings) throws FormatterException
FormatterException
public void write(java.lang.Object value, java.io.Writer out, SimpleDataSerializer.OutputFormatSettings settings) throws java.io.IOException, FormatterException
java.io.IOException
FormatterException
private 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.IOException
FormatterException
private void writeIndent(java.io.Writer out, SimpleDataSerializer.OutputFormatSettings settings, int level) throws java.io.IOException
java.io.IOException
private 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.IOException
FormatterException
private 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.IOException
FormatterException
private java.lang.String writeNumber(java.lang.Number n, SimpleDataSerializer.OutputFormatSettings settings)
private java.lang.String writeString(java.lang.String s, boolean forceQuotes)