org.yaml.snakeyaml.nodes.CollectionNode 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.nodes;
import java.util.List;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.error.Mark;
/**
* Base class for the two collection types {@link MappingNode mapping} and
* {@link SequenceNode collection}.
*/
public abstract class CollectionNode extends Node {
private DumperOptions.FlowStyle flowStyle;
public CollectionNode(Tag tag, Mark startMark, Mark endMark, DumperOptions.FlowStyle flowStyle) {
super(tag, startMark, endMark);
setFlowStyle(flowStyle);
}
/*
* Existed in older versions but replaced with {@link DumperOptions.FlowStyle}-based constructor.
* Restored in v1.22 for backwards compatibility.
* @deprecated Since restored in v1.22. Use {@link CollectionNode#CollectionNode(Tag, Mark, Mark, org.yaml.snakeyaml.DumperOptions.FlowStyle) }.
*/
@Deprecated
public CollectionNode(Tag tag, Mark startMark, Mark endMark, Boolean flowStyle) {
this(tag, startMark, endMark, DumperOptions.FlowStyle.fromBoolean(flowStyle));
}
/**
* Returns the elements in this sequence.
*
* @return Nodes in the specified order.
*/
abstract public List getValue();
/**
* Serialization style of this collection.
*
* @return true
for flow style, false
for block
* style.
*/
public DumperOptions.FlowStyle getFlowStyle() {
return flowStyle;
}
public void setFlowStyle(DumperOptions.FlowStyle flowStyle) {
if (flowStyle == null) throw new NullPointerException("Flow style must be provided.");
this.flowStyle = flowStyle;
}
/*
* Existed in older versions but replaced with {@link DumperOptions.FlowStyle}-based method.
* Restored in v1.26 for backwards compatibility.
* @deprecated Since restored in v1.26. Use {@link CollectionNode#setFlowStyle(org.yaml.snakeyaml.DumperOptions.FlowStyle) }.
*/
@Deprecated
public void setFlowStyle(Boolean flowStyle) {
setFlowStyle(DumperOptions.FlowStyle.fromBoolean(flowStyle));
}
public void setEndMark(Mark endMark) {
this.endMark = endMark;
}
}