diff options
Diffstat (limited to 'src/main/java/org/yaml/snakeyaml/tokens/Token.java')
-rw-r--r-- | src/main/java/org/yaml/snakeyaml/tokens/Token.java | 103 |
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(); } |