Package org.json
Class ParserConfiguration
- java.lang.Object
-
- org.json.ParserConfiguration
-
- Direct Known Subclasses:
JSONMLParserConfiguration
,JSONParserConfiguration
,XMLParserConfiguration
public class ParserConfiguration extends Object
Configuration base object for parsers. The configuration is immutable.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_MAXIMUM_NESTING_DEPTH
The default maximum nesting depth when parsing a document.protected boolean
keepStrings
Specifies if values should be kept as strings (true
), or if they should try to be guessed into JSON values (numeric, boolean, string)protected int
maxNestingDepth
The maximum nesting depth when parsing a document.static int
UNDEFINED_MAXIMUM_NESTING_DEPTH
Used to indicate there's no defined limit to the maximum nesting depth when parsing a document.
-
Constructor Summary
Constructors Modifier Constructor Description ParserConfiguration()
protected
ParserConfiguration(boolean keepStrings, int maxNestingDepth)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ParserConfiguration
clone()
Provides a new instance of the same configuration.int
getMaxNestingDepth()
The maximum nesting depth that the parser will descend before throwing an exception when parsing the XML into JSONML.boolean
isKeepStrings()
When parsing the XML into JSONML, specifies if values should be kept as strings (true
), or if they should try to be guessed into JSON values (numeric, boolean, string)<T extends ParserConfiguration>
TwithKeepStrings(boolean newVal)
When parsing the XML into JSONML, specifies if values should be kept as strings (true
), or if they should try to be guessed into JSON values (numeric, boolean, string)<T extends ParserConfiguration>
TwithMaxNestingDepth(int maxNestingDepth)
Defines the maximum nesting depth that the parser will descend before throwing an exception when parsing the XML into JSONML.
-
-
-
Field Detail
-
UNDEFINED_MAXIMUM_NESTING_DEPTH
public static final int UNDEFINED_MAXIMUM_NESTING_DEPTH
Used to indicate there's no defined limit to the maximum nesting depth when parsing a document.- See Also:
- Constant Field Values
-
DEFAULT_MAXIMUM_NESTING_DEPTH
public static final int DEFAULT_MAXIMUM_NESTING_DEPTH
The default maximum nesting depth when parsing a document.- See Also:
- Constant Field Values
-
keepStrings
protected boolean keepStrings
Specifies if values should be kept as strings (true
), or if they should try to be guessed into JSON values (numeric, boolean, string)
-
maxNestingDepth
protected int maxNestingDepth
The maximum nesting depth when parsing a document.
-
-
Method Detail
-
clone
protected ParserConfiguration clone()
Provides a new instance of the same configuration.
-
isKeepStrings
public boolean isKeepStrings()
When parsing the XML into JSONML, specifies if values should be kept as strings (true
), or if they should try to be guessed into JSON values (numeric, boolean, string)- Returns:
- The
keepStrings
configuration value.
-
withKeepStrings
public <T extends ParserConfiguration> T withKeepStrings(boolean newVal)
When parsing the XML into JSONML, specifies if values should be kept as strings (true
), or if they should try to be guessed into JSON values (numeric, boolean, string)- Type Parameters:
T
- the type of the configuration object- Parameters:
newVal
- new value to use for thekeepStrings
configuration option.- Returns:
- The existing configuration will not be modified. A new configuration is returned.
-
getMaxNestingDepth
public int getMaxNestingDepth()
The maximum nesting depth that the parser will descend before throwing an exception when parsing the XML into JSONML.- Returns:
- the maximum nesting depth set for this configuration
-
withMaxNestingDepth
public <T extends ParserConfiguration> T withMaxNestingDepth(int maxNestingDepth)
Defines the maximum nesting depth that the parser will descend before throwing an exception when parsing the XML into JSONML. The default max nesting depth is 512, which means the parser will throw a JsonException if the maximum depth is reached. Using any negative value as a parameter is equivalent to setting no limit to the nesting depth, which means the parses will go as deep as the maximum call stack size allows.- Type Parameters:
T
- the type of the configuration object- Parameters:
maxNestingDepth
- the maximum nesting depth allowed to the XML parser- Returns:
- The existing configuration will not be modified. A new configuration is returned.
-
-