summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/script/ScriptMode.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/script/ScriptMode.java')
-rw-r--r--core/src/main/java/org/elasticsearch/script/ScriptMode.java47
1 files changed, 29 insertions, 18 deletions
diff --git a/core/src/main/java/org/elasticsearch/script/ScriptMode.java b/core/src/main/java/org/elasticsearch/script/ScriptMode.java
index b35dda716e..aa9d100d43 100644
--- a/core/src/main/java/org/elasticsearch/script/ScriptMode.java
+++ b/core/src/main/java/org/elasticsearch/script/ScriptMode.java
@@ -19,37 +19,48 @@
package org.elasticsearch.script;
-import org.elasticsearch.common.Booleans;
-
-import java.util.Locale;
+import java.util.HashMap;
+import java.util.Map;
/**
* Mode for a specific script, used for script settings.
- * Defines whether a certain script or catefory of scripts can be executed or not, or whether it can
+ * Defines whether a certain script or category of scripts can be executed or not, or whether it can
* only be executed by a sandboxed scripting language.
*/
enum ScriptMode {
- ON,
- OFF,
- SANDBOX;
+ ON("true"),
+ OFF("false"),
+ SANDBOX("sandbox");
- static ScriptMode parse(String input) {
- input = input.toLowerCase(Locale.ROOT);
- if (Booleans.isExplicitTrue(input)) {
- return ON;
- }
- if (Booleans.isExplicitFalse(input)) {
- return OFF;
+ private final String mode;
+
+ ScriptMode(String mode) {
+ this.mode = mode;
+ }
+
+ private static final Map<String, ScriptMode> SCRIPT_MODES;
+
+ static {
+ SCRIPT_MODES = new HashMap<>();
+ for (ScriptMode scriptMode : ScriptMode.values()) {
+ SCRIPT_MODES.put(scriptMode.mode, scriptMode);
}
- if (SANDBOX.toString().equals(input)) {
- return SANDBOX;
+ }
+
+ static ScriptMode parse(String input) {
+ ScriptMode scriptMode = SCRIPT_MODES.get(input);
+ if (scriptMode == null) {
+ throw new IllegalArgumentException("script mode [" + input + "] not supported");
}
- throw new IllegalArgumentException("script mode [" + input + "] not supported");
+ return scriptMode;
}
+ public String getMode() {
+ return mode;
+ }
@Override
public String toString() {
- return name().toLowerCase(Locale.ROOT);
+ return mode;
}
}