aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/yaml/snakeyaml/tokens/DirectiveToken.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/yaml/snakeyaml/tokens/DirectiveToken.java')
-rw-r--r--src/main/java/org/yaml/snakeyaml/tokens/DirectiveToken.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/org/yaml/snakeyaml/tokens/DirectiveToken.java b/src/main/java/org/yaml/snakeyaml/tokens/DirectiveToken.java
new file mode 100644
index 00000000..f016ed95
--- /dev/null
+++ b/src/main/java/org/yaml/snakeyaml/tokens/DirectiveToken.java
@@ -0,0 +1,49 @@
+/*
+ * See LICENSE file in distribution for copyright and licensing information.
+ */
+package org.yaml.snakeyaml.tokens;
+
+import java.util.List;
+
+import org.yaml.snakeyaml.error.Mark;
+import org.yaml.snakeyaml.error.YAMLException;
+
+/**
+ * @see <a href="http://pyyaml.org/wiki/PyYAML">PyYAML</a> for more information
+ */
+public final class DirectiveToken extends Token {
+ private final String name;
+ private final List<?> value;
+
+ public DirectiveToken(String name, List<?> value, Mark startMark, Mark endMark) {
+ super(startMark, endMark);
+ this.name = name;
+ if (value != null && value.size() != 2) {
+ throw new YAMLException("Two strings must be provided instead of "
+ + String.valueOf(value.size()));
+ }
+ this.value = value;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public List<?> getValue() {
+ return this.value;
+ }
+
+ @Override
+ protected String getArguments() {
+ if (value != null) {
+ return "name=" + name + ", value=[" + value.get(0) + ", " + value.get(1) + "]";
+ } else {
+ return "name=" + name;
+ }
+ }
+
+ @Override
+ public String getTokenId() {
+ return "<directive>";
+ }
+}