aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/ParserSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'netx/net/sourceforge/jnlp/ParserSettings.java')
-rw-r--r--netx/net/sourceforge/jnlp/ParserSettings.java35
1 files changed, 34 insertions, 1 deletions
diff --git a/netx/net/sourceforge/jnlp/ParserSettings.java b/netx/net/sourceforge/jnlp/ParserSettings.java
index de781d9..b698bd4 100644
--- a/netx/net/sourceforge/jnlp/ParserSettings.java
+++ b/netx/net/sourceforge/jnlp/ParserSettings.java
@@ -37,6 +37,9 @@ exception statement from your version.
package net.sourceforge.jnlp;
+import java.util.Arrays;
+import java.util.List;
+
/**
* Contains settings to be used by the Parser while parsing JNLP files.
*
@@ -44,6 +47,8 @@ package net.sourceforge.jnlp;
*/
public class ParserSettings {
+ private static ParserSettings globalParserSettings = new ParserSettings();
+
private final boolean isStrict;
private final boolean extensionAllowed;
private final boolean malformedXmlAllowed;
@@ -75,4 +80,32 @@ public class ParserSettings {
return isStrict;
}
-} \ No newline at end of file
+ /**
+ * Return the global parser settings in use.
+ */
+ public static ParserSettings getGlobalParserSettings() {
+ return globalParserSettings;
+ }
+
+ /**
+ * Set the global ParserSettings to match the given settings.
+ */
+ public static void setGlobalParserSettings(ParserSettings parserSettings) {
+ globalParserSettings = parserSettings;
+ }
+
+ /**
+ * Return the ParserSettings to be used according to arguments specified
+ * at boot on the command line. These settings are also stored so they
+ * can be retrieved at a later time.
+ */
+ public static ParserSettings setGlobalParserSettingsFromArgs(String[] cmdArgs) {
+ List<String> argList = Arrays.asList(cmdArgs);
+ boolean strict = argList.contains("-strict");
+ boolean malformedXmlAllowed = !argList.contains("-xml");
+
+ globalParserSettings = new ParserSettings(strict, true, malformedXmlAllowed);
+ return globalParserSettings;
+ }
+
+}