1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.yaml.snakeyaml.tokens;
17
18 import java.util.List;
19
20 import org.yaml.snakeyaml.error.Mark;
21 import org.yaml.snakeyaml.error.YAMLException;
22
23 public final class DirectiveToken<T> extends Token {
24 private final String name;
25 private final List<T> value;
26
27 public DirectiveToken(String name, List<T> value, Mark startMark, Mark endMark) {
28 super(startMark, endMark);
29 this.name = name;
30 if (value != null && value.size() != 2) {
31 throw new YAMLException("Two strings must be provided instead of "
32 + String.valueOf(value.size()));
33 }
34 this.value = value;
35 }
36
37 public String getName() {
38 return this.name;
39 }
40
41 public List<T> getValue() {
42 return this.value;
43 }
44
45 @Override
46 protected String getArguments() {
47 if (value != null) {
48 return "name=" + name + ", value=[" + value.get(0) + ", " + value.get(1) + "]";
49 } else {
50 return "name=" + name;
51 }
52 }
53
54 @Override
55 public Token.ID getTokenId() {
56 return ID.Directive;
57 }
58 }