org.yaml.snakeyaml.events.SequenceEndEvent Java Examples

The following examples show how to use org.yaml.snakeyaml.events.SequenceEndEvent. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Emitter.java    From orion.server with Eclipse Public License 1.0 6 votes vote down vote up
public void expect() throws IOException {
    if (event instanceof SequenceEndEvent) {
        indent = indents.pop();
        flowLevel--;
        if (canonical) {
            writeIndicator(",", false, false, false);
            writeIndent();
        }
        writeIndicator("]", false, false, false);
        if (prettyFlow) {
            writeIndent();
        }
        state = states.pop();
    } else {
        writeIndicator(",", false, false, false);
        if (canonical || column > bestWidth || prettyFlow) {
            writeIndent();
        }
        states.push(new ExpectFlowSequenceItem());
        expectNode(false, false, false);
    }
}
 
Example #2
Source File: ExpectFirstFlowSequenceItem.java    From Diorite with MIT License 6 votes vote down vote up
@Override
public void expect(Emitter emitter) throws IOException
{
    if (emitter.event instanceof SequenceEndEvent)
    {
        emitter.indent = emitter.indents.pop();
        emitter.flowLevel--;
        emitter.writeIndicator("]", false, false, false);
        emitter.state = emitter.states.pop();
    }
    else
    {
        if (emitter.canonical || ((emitter.column > emitter.bestWidth) && emitter.splitLines) || emitter.prettyFlow)
        {
            emitter.writeIndent();
        }
        emitter.states.push(new ExpectFlowSequenceItem());
        emitter.expectNode(false, false, false);
    }
}
 
Example #3
Source File: ExpectBlockSequenceItem.java    From Diorite with MIT License 6 votes vote down vote up
public static void expect(Emitter emitter, boolean first) throws IOException
{
    if (! first && (emitter.event instanceof SequenceEndEvent))
    {
        emitter.indent = emitter.indents.pop();
        emitter.state = emitter.states.pop();
    }
    else
    {
        emitter.writeIndent();
        emitter.writeWhitespace(emitter.indicatorIndent);
        emitter.writeIndicator("-", true, false, true);
        emitter.states.push(new ExpectBlockSequenceItem(false));
        emitter.expectNode(false, false, false);
    }
}
 
Example #4
Source File: ParserImplTest.java    From snake-yaml with Apache License 2.0 6 votes vote down vote up
public void testGetEvent2() {
    String data = "american:\n  - Boston Red Sox";
    StreamReader reader = new StreamReader(data);
    Parser parser = new ParserImpl(reader);
    Mark dummyMark = new Mark("dummy", 0, 0, 0, "", 0);
    LinkedList<Event> etalonEvents = new LinkedList<Event>();
    etalonEvents.add(new StreamStartEvent(dummyMark, dummyMark));
    etalonEvents.add(new DocumentStartEvent(dummyMark, dummyMark, false, null, null));
    etalonEvents
            .add(new MappingStartEvent(null, null, true, dummyMark, dummyMark, Boolean.TRUE));
    etalonEvents.add(new ScalarEvent(null, null, new ImplicitTuple(true, false), "american",
            dummyMark, dummyMark, (char) 0));
    etalonEvents.add(new SequenceStartEvent(null, null, true, dummyMark, dummyMark,
            Boolean.FALSE));
    etalonEvents.add(new ScalarEvent(null, null, new ImplicitTuple(true, false),
            "Boston Red Sox", dummyMark, dummyMark, (char) 0));
    etalonEvents.add(new SequenceEndEvent(dummyMark, dummyMark));
    etalonEvents.add(new MappingEndEvent(dummyMark, dummyMark));
    etalonEvents.add(new DocumentEndEvent(dummyMark, dummyMark, false));
    etalonEvents.add(new StreamEndEvent(dummyMark, dummyMark));
    check(etalonEvents, parser);
}
 
Example #5
Source File: Emitter.java    From snake-yaml with Apache License 2.0 6 votes vote down vote up
public void expect() throws IOException {
    if (event instanceof SequenceEndEvent) {
        indent = indents.pop();
        flowLevel--;
        if (canonical) {
            writeIndicator(",", false, false, false);
            writeIndent();
        }
        writeIndicator("]", false, false, false);
        if (prettyFlow) {
            writeIndent();
        }
        state = states.pop();
    } else {
        writeIndicator(",", false, false, false);
        if (canonical || (column > bestWidth && splitLines) || prettyFlow) {
            writeIndent();
        }
        states.push(new ExpectFlowSequenceItem());
        expectNode(false, false, false);
    }
}
 
Example #6
Source File: Emitter.java    From snake-yaml with Apache License 2.0 5 votes vote down vote up
public void expect() throws IOException {
    if (!this.first && event instanceof SequenceEndEvent) {
        indent = indents.pop();
        state = states.pop();
    } else {
        writeIndent();
        writeWhitespace(indicatorIndent);
        writeIndicator("-", true, false, true);
        states.push(new ExpectBlockSequenceItem(false));
        expectNode(false, false, false);
    }
}
 
Example #7
Source File: ExpectFlowSequenceItem.java    From Diorite with MIT License 5 votes vote down vote up
@Override
public void expect(Emitter emitter) throws IOException
{
    if (emitter.event instanceof SequenceEndEvent)
    {
        emitter.indent = emitter.indents.pop();
        emitter.flowLevel--;
        if (emitter.canonical)
        {
            emitter.writeIndicator(",", false, false, false);
            emitter.writeIndent();
        }
        emitter.writeIndicator("]", false, false, false);
        if (emitter.prettyFlow)
        {
            emitter.writeIndent();
        }
        emitter.state = emitter.states.pop();
    }
    else
    {
        emitter.writeIndicator(",", false, false, false);
        if (emitter.canonical || ((emitter.column > emitter.bestWidth) && emitter.splitLines) || emitter.prettyFlow)
        {
            emitter.writeIndent();
        }
        emitter.states.push(new ExpectFlowSequenceItem());
        emitter.expectNode(false, false, false);
    }
}
 
Example #8
Source File: CanonicalParser.java    From snake-yaml with Apache License 2.0 5 votes vote down vote up
private void parseSequence() {
    scanner.getToken(Token.ID.FlowSequenceStart);
    if (!scanner.checkToken(Token.ID.FlowSequenceEnd)) {
        parseNode();
        while (!scanner.checkToken(Token.ID.FlowSequenceEnd)) {
            scanner.getToken(Token.ID.FlowEntry);
            if (!scanner.checkToken(Token.ID.FlowSequenceEnd)) {
                parseNode();
            }
        }
    }
    scanner.getToken(Token.ID.FlowSequenceEnd);
    events.add(new SequenceEndEvent(null, null));
}
 
Example #9
Source File: Emitter.java    From snake-yaml with Apache License 2.0 5 votes vote down vote up
public void expect() throws IOException {
    if (event instanceof SequenceEndEvent) {
        indent = indents.pop();
        flowLevel--;
        writeIndicator("]", false, false, false);
        state = states.pop();
    } else {
        if (canonical || (column > bestWidth && splitLines) || prettyFlow) {
            writeIndent();
        }
        states.push(new ExpectFlowSequenceItem());
        expectNode(false, false, false);
    }
}
 
Example #10
Source File: Emitter.java    From orion.server with Eclipse Public License 1.0 5 votes vote down vote up
public void expect() throws IOException {
    if (!this.first && event instanceof SequenceEndEvent) {
        indent = indents.pop();
        state = states.pop();
    } else {
        writeIndent();
        writeIndicator("-", true, false, true);
        states.push(new ExpectBlockSequenceItem(false));
        expectNode(false, false, false);
    }
}
 
Example #11
Source File: Emitter.java    From orion.server with Eclipse Public License 1.0 5 votes vote down vote up
public void expect() throws IOException {
    if (event instanceof SequenceEndEvent) {
        indent = indents.pop();
        flowLevel--;
        writeIndicator("]", false, false, false);
        state = states.pop();
    } else {
        if (canonical || column > bestWidth || prettyFlow) {
            writeIndent();
        }
        states.push(new ExpectFlowSequenceItem());
        expectNode(false, false, false);
    }
}
 
Example #12
Source File: Serializer.java    From orion.server with Eclipse Public License 1.0 4 votes vote down vote up
private void serializeNode(Node node, Node parent) throws IOException {
    if (node.getNodeId() == NodeId.anchor) {
        node = ((AnchorNode) node).getRealNode();
    }
    String tAlias = this.anchors.get(node);
    if (this.serializedNodes.contains(node)) {
        this.emitter.emit(new AliasEvent(tAlias, null, null));
    } else {
        this.serializedNodes.add(node);
        switch (node.getNodeId()) {
        case scalar:
            ScalarNode scalarNode = (ScalarNode) node;
            Tag detectedTag = this.resolver.resolve(NodeId.scalar, scalarNode.getValue(), true);
            Tag defaultTag = this.resolver.resolve(NodeId.scalar, scalarNode.getValue(), false);
            ImplicitTuple tuple = new ImplicitTuple(node.getTag().equals(detectedTag), node
                    .getTag().equals(defaultTag));
            ScalarEvent event = new ScalarEvent(tAlias, node.getTag().getValue(), tuple,
                    scalarNode.getValue(), null, null, scalarNode.getStyle());
            this.emitter.emit(event);
            break;
        case sequence:
            SequenceNode seqNode = (SequenceNode) node;
            boolean implicitS = (node.getTag().equals(this.resolver.resolve(NodeId.sequence,
                    null, true)));
            this.emitter.emit(new SequenceStartEvent(tAlias, node.getTag().getValue(),
                    implicitS, null, null, seqNode.getFlowStyle()));
            int indexCounter = 0;
            List<Node> list = seqNode.getValue();
            for (Node item : list) {
                serializeNode(item, node);
                indexCounter++;
            }
            this.emitter.emit(new SequenceEndEvent(null, null));
            break;
        default:// instance of MappingNode
            Tag implicitTag = this.resolver.resolve(NodeId.mapping, null, true);
            boolean implicitM = (node.getTag().equals(implicitTag));
            this.emitter.emit(new MappingStartEvent(tAlias, node.getTag().getValue(),
                    implicitM, null, null, ((CollectionNode) node).getFlowStyle()));
            MappingNode mnode = (MappingNode) node;
            List<NodeTuple> map = mnode.getValue();
            for (NodeTuple row : map) {
                Node key = row.getKeyNode();
                Node value = row.getValueNode();
                serializeNode(key, mnode);
                serializeNode(value, mnode);
            }
            this.emitter.emit(new MappingEndEvent(null, null));
        }
    }
}
 
Example #13
Source File: Emitter.java    From snake-yaml with Apache License 2.0 4 votes vote down vote up
private boolean checkEmptySequence() {
    return event instanceof SequenceStartEvent && !events.isEmpty() && events.peek() instanceof SequenceEndEvent;
}
 
Example #14
Source File: Serializer.java    From snake-yaml with Apache License 2.0 4 votes vote down vote up
private void serializeNode(Node node, Node parent) throws IOException {
    if (node.getNodeId() == NodeId.anchor) {
        node = ((AnchorNode) node).getRealNode();
    }
    String tAlias = this.anchors.get(node);
    if (this.serializedNodes.contains(node)) {
        this.emitter.emit(new AliasEvent(tAlias, null, null));
    } else {
        this.serializedNodes.add(node);
        switch (node.getNodeId()) {
        case scalar:
            ScalarNode scalarNode = (ScalarNode) node;
            Tag detectedTag = this.resolver.resolve(NodeId.scalar, scalarNode.getValue(), true);
            Tag defaultTag = this.resolver.resolve(NodeId.scalar, scalarNode.getValue(), false);
            ImplicitTuple tuple = new ImplicitTuple(node.getTag().equals(detectedTag), node
                    .getTag().equals(defaultTag));
            ScalarEvent event = new ScalarEvent(tAlias, node.getTag().getValue(), tuple,
                    scalarNode.getValue(), null, null, scalarNode.getStyle());
            this.emitter.emit(event);
            break;
        case sequence:
            SequenceNode seqNode = (SequenceNode) node;
            boolean implicitS = node.getTag().equals(this.resolver.resolve(NodeId.sequence,
                    null, true));
            this.emitter.emit(new SequenceStartEvent(tAlias, node.getTag().getValue(),
                    implicitS, null, null, seqNode.getFlowStyle()));
            List<Node> list = seqNode.getValue();
            for (Node item : list) {
                serializeNode(item, node);
            }
            this.emitter.emit(new SequenceEndEvent(null, null));
            break;
        default:// instance of MappingNode
            Tag implicitTag = this.resolver.resolve(NodeId.mapping, null, true);
            boolean implicitM = node.getTag().equals(implicitTag);
            this.emitter.emit(new MappingStartEvent(tAlias, node.getTag().getValue(),
                    implicitM, null, null, ((CollectionNode) node).getFlowStyle()));
            MappingNode mnode = (MappingNode) node;
            List<NodeTuple> map = mnode.getValue();
            for (NodeTuple row : map) {
                Node key = row.getKeyNode();
                Node value = row.getValueNode();
                serializeNode(key, mnode);
                serializeNode(value, mnode);
            }
            this.emitter.emit(new MappingEndEvent(null, null));
        }
    }
}
 
Example #15
Source File: Emitter.java    From Diorite with MIT License 4 votes vote down vote up
private boolean checkEmptySequence()
{
    return (this.event instanceof SequenceStartEvent) && ! this.events.isEmpty() && (this.events.peek() instanceof SequenceEndEvent);
}
 
Example #16
Source File: Emitter.java    From orion.server with Eclipse Public License 1.0 4 votes vote down vote up
private boolean checkEmptySequence() {
    return (event instanceof SequenceStartEvent && !events.isEmpty() && events.peek() instanceof SequenceEndEvent);
}
 
Example #17
Source File: Serializer.java    From Diorite with MIT License 4 votes vote down vote up
private void serializeNode(Node node, @Nullable Node parent, LinkedList<String> commentPath, boolean mappingScalar) throws IOException
{
    if (node.getNodeId() == NodeId.anchor)
    {
        node = ((AnchorNode) node).getRealNode();
    }
    String tAlias = this.anchors.get(node);
    if (this.serializedNodes.contains(node))
    {
        this.emitter.emit(new AliasEvent(tAlias, null, null));
    }
    else
    {
        this.serializedNodes.add(node);
        switch (node.getNodeId())
        {
            case scalar:
                ScalarNode scalarNode = (ScalarNode) node;
                Tag detectedTag = this.resolver.resolve(NodeId.scalar, scalarNode.getValue(), true);
                Tag defaultTag = this.resolver.resolve(NodeId.scalar, scalarNode.getValue(), false);
                String[] pathNodes = commentPath.toArray(new String[commentPath.size()]);
                String comment;
                if (this.checkCommentsSet(pathNodes))
                {
                    comment = this.comments.getComment(pathNodes);
                }
                else
                {
                    comment = null;
                }
                ImplicitTuple tuple = new ImplicitTupleExtension(node.getTag().equals(detectedTag), node.getTag().equals(defaultTag), comment);
                ScalarEvent event = new ScalarEvent(tAlias, node.getTag().getValue(), tuple, scalarNode.getValue(), null, null, scalarNode.getStyle());
                this.emitter.emit(event);
                break;
            case sequence:
                SequenceNode seqNode = (SequenceNode) node;
                boolean implicitS = node.getTag().equals(this.resolver.resolve(NodeId.sequence, null, true));
                this.emitter.emit(new SequenceStartEvent(tAlias, node.getTag().getValue(), implicitS, null, null, seqNode.getFlowStyle()));
                List<Node> list = seqNode.getValue();
                for (Node item : list)
                {
                    this.serializeNode(item, node, commentPath, false);
                }
                this.emitter.emit(new SequenceEndEvent(null, null));
                break;
            default:// instance of MappingNode
                Tag implicitTag = this.resolver.resolve(NodeId.mapping, null, true);
                boolean implicitM = node.getTag().equals(implicitTag);
                this.emitter.emit(new MappingStartEvent(tAlias, node.getTag().getValue(), implicitM, null, null, ((CollectionNode) node).getFlowStyle()));
                MappingNode mnode = (MappingNode) node;
                List<NodeTuple> map = mnode.getValue();
                for (NodeTuple row : map)
                {
                    Node key = row.getKeyNode();
                    Node value = row.getValueNode();
                    if (key instanceof ScalarNode)
                    {
                        commentPath.add(((ScalarNode) key).getValue());
                    }
                    this.serializeNode(key, mnode, commentPath, true);
                    this.serializeNode(value, mnode, commentPath, false);
                    if (key instanceof ScalarNode)
                    {
                        commentPath.removeLast();
                    }
                }
                this.emitter.emit(new MappingEndEvent(null, null));
        }
    }
}