/** * Copyright (c) 2008-2013, 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 org.yaml.snakeyaml.error.Mark; /** * Represents a scalar node. * <p> * Scalar nodes form the leaves in the node graph. * </p> */ public class ScalarNode extends Node { private Character style; private String value; public ScalarNode(final Tag tag, final String value, final Mark startMark, final Mark endMark, final Character style) { this(tag, true, value, startMark, endMark, style); } public ScalarNode(final Tag tag, final boolean resolved, final String value, final Mark startMark, final Mark endMark, final Character style) { super(tag, startMark, endMark); if (value == null) { throw new NullPointerException("value in a Node is required."); } this.value = value; this.style = style; this.resolved = resolved; } /** * Get scalar style of this node. * * @see org.yaml.snakeyaml.events.ScalarEvent * @see <a href="http://yaml.org/spec/1.1/#id903915">Chapter 9. Scalar Styles</a> */ public Character getStyle() { return style; } @Override public NodeId getNodeId() { return NodeId.scalar; } /** * Value of this scalar. * * @return Scalar's value. */ public String getValue() { return value; } @Override public String toString() { return "<" + this.getClass().getName() + " (tag=" + getTag() + ", value=" + getValue() + ")>"; } }