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