org.yaml.snakeyaml.events.ScalarEvent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of snakeyaml Show documentation
Show all versions of snakeyaml Show documentation
YAML 1.1 parser and emitter for Java
/**
* Copyright (c) 2008, http://www.snakeyaml.org
*
* 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.yaml.snakeyaml.events;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.error.Mark;
/**
* Marks a scalar value.
*/
public final class ScalarEvent extends NodeEvent {
private final String tag;
// style flag of a scalar event indicates the style of the scalar. Possible
// values are None, '', '\'', '"', '|', '>'
private final DumperOptions.ScalarStyle style;
private final String value;
// The implicit flag of a scalar event is a pair of boolean values that
// indicate if the tag may be omitted when the scalar is emitted in a plain
// and non-plain style correspondingly.
private final ImplicitTuple implicit;
public ScalarEvent(String anchor, String tag, ImplicitTuple implicit, String value,
Mark startMark, Mark endMark, DumperOptions.ScalarStyle style) {
super(anchor, startMark, endMark);
this.tag = tag;
this.implicit = implicit;
if (value == null) throw new NullPointerException("Value must be provided.");
this.value = value;
if (style == null) throw new NullPointerException("Style must be provided.");
this.style = style;
}
/*
* Existed in older versions but replaced with {@link DumperOptions.ScalarStyle}-based constructor.
* Restored in v1.22 for backwards compatibility.
* @deprecated Since restored in v1.22. Use {@link ScalarEvent#ScalarEvent(String, String, ImplicitTuple, String, Mark, Mark, org.yaml.snakeyaml.DumperOptions.ScalarStyle) }.
*/
@Deprecated
public ScalarEvent(String anchor, String tag, ImplicitTuple implicit, String value,
Mark startMark, Mark endMark, Character style) {
this(anchor, tag, implicit, value, startMark, endMark, DumperOptions.ScalarStyle.createStyle(style));
}
/**
* Tag of this scalar.
*
* @return The tag of this scalar, or null
if no explicit tag
* is available.
*/
public String getTag() {
return this.tag;
}
/**
* Style of the scalar.
*
* - null
* - Flow Style - Plain
* - '\''
* - Flow Style - Single-Quoted
* - '"'
* - Flow Style - Double-Quoted
* - '|'
* - Block Style - Literal
* - '>'
* - Block Style - Folded
*
*
* @see Kind/Style
* Combinations
* @return Style of the scalar.
*/
public DumperOptions.ScalarStyle getStyle() {
return this.style;
}
/**
* String representation of the value.
*
* Without quotes and escaping.
*
*
* @return Value as Unicode string.
*/
public String getValue() {
return this.value;
}
public ImplicitTuple getImplicit() {
return this.implicit;
}
@Override
protected String getArguments() {
return super.getArguments() + ", tag=" + tag + ", " + implicit + ", value=" + value;
}
@Override
public boolean is(Event.ID id) {
return ID.Scalar == id;
}
public boolean isPlain() {
return style == DumperOptions.ScalarStyle.PLAIN;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy