org.snakeyaml.engine.v2.events.MappingStartEvent Maven / Gradle / Ivy
Show all versions of snakeyaml-engine Show documentation
/**
* Copyright (c) 2018, 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.snakeyaml.engine.v2.events;
import org.snakeyaml.engine.v2.common.Anchor;
import org.snakeyaml.engine.v2.common.FlowStyle;
import org.snakeyaml.engine.v2.exceptions.Mark;
import java.util.Optional;
/**
* Marks the beginning of a mapping node.
*
* This event is followed by a number of key value pairs.
* The pairs are not in any particular order. However, the value always directly
* follows the corresponding key.
* After the key value pairs follows a {@link MappingEndEvent}.
*
*
* There must be an even number of node events between the start and end event.
*
*
* @see MappingEndEvent
*/
public final class MappingStartEvent extends CollectionStartEvent {
public MappingStartEvent(Optional anchor, Optional tag, boolean implicit, FlowStyle flowStyle, Optional startMark,
Optional endMark) {
super(anchor, tag, implicit, flowStyle, startMark, endMark);
}
public MappingStartEvent(Optional anchor, Optional tag, boolean implicit, FlowStyle flowStyle) {
this(anchor, tag, implicit, flowStyle, Optional.empty(), Optional.empty());
}
@Override
public ID getEventId() {
return ID.MappingStart;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder("+MAP");
if (getFlowStyle() == FlowStyle.FLOW) {
//TODO builder.append(" {}") is better visually, but the tests data do not use it yet
}
builder.append(super.toString());
return builder.toString();
}
}