aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/yaml/snakeyaml/tokens/Token.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/yaml/snakeyaml/tokens/Token.java')
-rw-r--r--src/main/java/org/yaml/snakeyaml/tokens/Token.java103
1 files changed, 45 insertions, 58 deletions
diff --git a/src/main/java/org/yaml/snakeyaml/tokens/Token.java b/src/main/java/org/yaml/snakeyaml/tokens/Token.java
index 8b583f5d..63a49271 100644
--- a/src/main/java/org/yaml/snakeyaml/tokens/Token.java
+++ b/src/main/java/org/yaml/snakeyaml/tokens/Token.java
@@ -1,17 +1,15 @@
/**
- * Copyright (c) 2008, http://www.snakeyaml.org
+ * Copyright (c) 2008, SnakeYAML
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
*/
package org.yaml.snakeyaml.tokens;
@@ -19,64 +17,53 @@ import org.yaml.snakeyaml.error.Mark;
import org.yaml.snakeyaml.error.YAMLException;
public abstract class Token {
- public enum ID {
- Alias, Anchor, BlockEnd, BlockEntry, BlockMappingStart, BlockSequenceStart, Directive, DocumentEnd, DocumentStart, FlowEntry, FlowMappingEnd, FlowMappingStart, FlowSequenceEnd, FlowSequenceStart, Key, Scalar, StreamEnd, StreamStart, Tag, Value, Whitespace, Comment, Error
- }
- private final Mark startMark;
- private final Mark endMark;
+ public enum ID {
+ Alias("<alias>"), Anchor("<anchor>"), BlockEnd("<block end>"), BlockEntry(
+ "-"), BlockMappingStart("<block mapping start>"), BlockSequenceStart(
+ "<block sequence start>"), Directive("<directive>"), DocumentEnd(
+ "<document end>"), DocumentStart("<document start>"), FlowEntry(
+ ","), FlowMappingEnd("}"), FlowMappingStart("{"), FlowSequenceEnd(
+ "]"), FlowSequenceStart("["), Key("?"), Scalar("<scalar>"), StreamEnd(
+ "<stream end>"), StreamStart("<stream start>"), Tag("<tag>"), Value(
+ ":"), Whitespace("<whitespace>"), Comment("#"), Error("<error>");
- public Token(Mark startMark, Mark endMark) {
- if (startMark == null || endMark == null) {
- throw new YAMLException("Token requires marks.");
- }
- this.startMark = startMark;
- this.endMark = endMark;
- }
+ private final String description;
- public String toString() {
- return "<" + this.getClass().getName() + "(" + getArguments() + ")>";
+ ID(String s) {
+ description = s;
}
- public Mark getStartMark() {
- return startMark;
+ @Override
+ public String toString() {
+ return description;
}
+ }
- public Mark getEndMark() {
- return endMark;
- }
+ private final Mark startMark;
+ private final Mark endMark;
- /**
- * @see "__repr__ for Token in PyYAML"
- */
- protected String getArguments() {
- return "";
+ public Token(Mark startMark, Mark endMark) {
+ if (startMark == null || endMark == null) {
+ throw new YAMLException("Token requires marks.");
}
+ this.startMark = startMark;
+ this.endMark = endMark;
+ }
- /**
- * For error reporting.
- *
- * @see "class variable 'id' in PyYAML"
- */
- public abstract Token.ID getTokenId();
+ public Mark getStartMark() {
+ return startMark;
+ }
- /*
- * for tests only
- */
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof Token) {
- return toString().equals(obj.toString());
- } else {
- return false;
- }
- }
+ public Mark getEndMark() {
+ return endMark;
+ }
- /*
- * for tests only
- */
- @Override
- public int hashCode() {
- return toString().hashCode();
- }
+ /**
+ * For error reporting.
+ *
+ * @see "class variable 'id' in PyYAML"
+ * @return ID of this token
+ */
+ public abstract Token.ID getTokenId();
}