org.snakeyaml.engine.v2.tokens.Token Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of snakeyaml-engine Show documentation
Show all versions of snakeyaml-engine Show documentation
Core YAML 1.2 parser and emitter for Java
The newest version!
/*
* Copyright (c) 2018, 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
*
* 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.
*/
package org.snakeyaml.engine.v2.tokens;
import java.util.Objects;
import java.util.Optional;
import org.snakeyaml.engine.v2.exceptions.Mark;
/**
* A unit of YAML data
*/
public abstract class Token {
private final Optional startMark;
private final Optional endMark;
public Token(Optional startMark, Optional endMark) {
Objects.requireNonNull(startMark);
Objects.requireNonNull(endMark);
this.startMark = startMark;
this.endMark = endMark;
}
public Optional getStartMark() {
return startMark;
}
public Optional getEndMark() {
return endMark;
}
/**
* For error reporting.
*
* @return ID of this token
*/
public abstract Token.ID getTokenId();
@Override
public String toString() {
return getTokenId().toString();
}
public enum ID {
Alias(""), // NOSONAR
Anchor(""), // NOSONAR
BlockEnd(""), // NOSONAR
BlockEntry("-"), // NOSONAR
BlockMappingStart(""), // NOSONAR
BlockSequenceStart(""), // NOSONAR
Directive(""), // NOSONAR
DocumentEnd(""), // NOSONAR
DocumentStart(""), // NOSONAR
FlowEntry(","), // NOSONAR
FlowMappingEnd("}"), // NOSONAR
FlowMappingStart("{"), // NOSONAR
FlowSequenceEnd("]"), // NOSONAR
FlowSequenceStart("["), // NOSONAR
Key("?"), // NOSONAR
Scalar(""), // NOSONAR
StreamEnd(""), // NOSONAR
StreamStart(""), // NOSONAR
Tag(""), // NOSONAR
Comment("#"), Value(":"); // NOSONAR
private final String description;
ID(String s) {
description = s;
}
@Override
public String toString() {
return description;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy