org.yaml.snakeyaml.events.DocumentEndEvent Java Examples

The following examples show how to use org.yaml.snakeyaml.events.DocumentEndEvent. 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: ParserImpl.java    From orion.server with Eclipse Public License 1.0 6 votes vote down vote up
public Event produce() {
    // Parse the document end.
    Token token = scanner.peekToken();
    Mark startMark = token.getStartMark();
    Mark endMark = startMark;
    boolean explicit = false;
    if (scanner.checkToken(Token.ID.DocumentEnd)) {
        token = scanner.getToken();
        endMark = token.getEndMark();
        explicit = true;
    }
    Event event = new DocumentEndEvent(startMark, endMark, explicit);
    // Prepare the next state.
    state = new ParseDocumentStart();
    return event;
}
 
Example #2
Source File: Serializer.java    From orion.server with Eclipse Public License 1.0 6 votes vote down vote up
public void serialize(Node node) throws IOException {
    if (closed == null) {
        throw new SerializerException("serializer is not opened");
    } else if (closed) {
        throw new SerializerException("serializer is closed");
    }
    this.emitter.emit(new DocumentStartEvent(null, null, this.explicitStart, this.useVersion,
            useTags));
    anchorNode(node);
    if (explicitRoot != null) {
        node.setTag(explicitRoot);
    }
    serializeNode(node, null);
    this.emitter.emit(new DocumentEndEvent(null, null, this.explicitEnd));
    this.serializedNodes.clear();
    this.anchors.clear();
    this.lastAnchorId = 0;
}
 
Example #3
Source File: Emitter.java    From orion.server with Eclipse Public License 1.0 6 votes vote down vote up
private boolean needEvents(int count) {
    int level = 0;
    Iterator<Event> iter = events.iterator();
    iter.next();
    while (iter.hasNext()) {
        Event event = iter.next();
        if (event instanceof DocumentStartEvent || event instanceof CollectionStartEvent) {
            level++;
        } else if (event instanceof DocumentEndEvent || event instanceof CollectionEndEvent) {
            level--;
        } else if (event instanceof StreamEndEvent) {
            level = -1;
        }
        if (level < 0) {
            return false;
        }
    }
    return events.size() < count + 1;
}
 
Example #4
Source File: ParserImpl.java    From snake-yaml with Apache License 2.0 6 votes vote down vote up
public Event produce() {
    // Parse the document end.
    Token token = scanner.peekToken();
    Mark startMark = token.getStartMark();
    Mark endMark = startMark;
    boolean explicit = false;
    if (scanner.checkToken(Token.ID.DocumentEnd)) {
        token = scanner.getToken();
        endMark = token.getEndMark();
        explicit = true;
    }
    Event event = new DocumentEndEvent(startMark, endMark, explicit);
    // Prepare the next state.
    state = new ParseDocumentStart();
    return event;
}
 
Example #5
Source File: Serializer.java    From snake-yaml with Apache License 2.0 6 votes vote down vote up
public void serialize(Node node) throws IOException {
    if (closed == null) {
        throw new SerializerException("serializer is not opened");
    } else if (closed) {
        throw new SerializerException("serializer is closed");
    }
    this.emitter.emit(new DocumentStartEvent(null, null, this.explicitStart, this.useVersion,
            useTags));
    anchorNode(node);
    if (explicitRoot != null) {
        node.setTag(explicitRoot);
    }
    serializeNode(node, null);
    this.emitter.emit(new DocumentEndEvent(null, null, this.explicitEnd));
    this.serializedNodes.clear();
    this.anchors.clear();
}
 
Example #6
Source File: Emitter.java    From snake-yaml with Apache License 2.0 6 votes vote down vote up
private boolean needEvents(int count) {
    int level = 0;
    Iterator<Event> iter = events.iterator();
    iter.next();
    while (iter.hasNext()) {
        Event event = iter.next();
        if (event instanceof DocumentStartEvent || event instanceof CollectionStartEvent) {
            level++;
        } else if (event instanceof DocumentEndEvent || event instanceof CollectionEndEvent) {
            level--;
        } else if (event instanceof StreamEndEvent) {
            level = -1;
        }
        if (level < 0) {
            return false;
        }
    }
    return events.size() < count + 1;
}
 
Example #7
Source File: ParserImplTest.java    From snake-yaml with Apache License 2.0 6 votes vote down vote up
public void testGetEvent() {
    String data = "string: abcd";
    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.FALSE));
    etalonEvents.add(new ScalarEvent(null, null, new ImplicitTuple(true, false), "string",
            dummyMark, dummyMark, (char) 0));
    etalonEvents.add(new ScalarEvent(null, null, new ImplicitTuple(true, false), "abcd",
            dummyMark, dummyMark, (char) 0));
    etalonEvents.add(new MappingEndEvent(dummyMark, dummyMark));
    etalonEvents.add(new DocumentEndEvent(dummyMark, dummyMark, false));
    etalonEvents.add(new StreamEndEvent(dummyMark, dummyMark));
    check(etalonEvents, parser);
}
 
Example #8
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 #9
Source File: ExpectDocumentEnd.java    From Diorite with MIT License 6 votes vote down vote up
@Override
public void expect(Emitter emitter) throws IOException
{
    if (emitter.event instanceof DocumentEndEvent)
    {
        emitter.writeIndent();
        if (((DocumentEndEvent) emitter.event).getExplicit())
        {
            emitter.writeIndicator("...", true, false, false);
            emitter.writeIndent();
        }
        emitter.flushStream();
        emitter.state = new ExpectDocumentStart(false);
    }
    else
    {
        throw new EmitterException("expected DocumentEndEvent, but got " + emitter.event);
    }
}
 
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 (event instanceof DocumentEndEvent) {
        writeIndent();
        if (((DocumentEndEvent) event).getExplicit()) {
            writeIndicator("...", true, false, false);
            writeIndent();
        }
        flushStream();
        state = new ExpectDocumentStart(false);
    } else {
        throw new EmitterException("expected DocumentEndEvent, but got " + event);
    }
}
 
Example #11
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 DocumentEndEvent) {
        writeIndent();
        if (((DocumentEndEvent) event).getExplicit()) {
            writeIndicator("...", true, false, false);
            writeIndent();
        }
        flushStream();
        state = new ExpectDocumentStart(false);
    } else {
        throw new EmitterException("expected DocumentEndEvent, but got " + event);
    }
}
 
Example #12
Source File: CanonicalParser.java    From snake-yaml with Apache License 2.0 5 votes vote down vote up
private void parseDocument() {
    if (scanner.checkToken(Token.ID.Directive)) {
        scanner.getToken(Token.ID.Directive);
    }
    scanner.getToken(Token.ID.DocumentStart);
    events.add(new DocumentStartEvent(null, null, true, Version.V1_1, null));
    parseNode();
    events.add(new DocumentEndEvent(null, null, true));
}
 
Example #13
Source File: Emitter.java    From Diorite with MIT License 5 votes vote down vote up
private boolean needEvents(int count)
{
    int level = 0;
    Iterator<Event> iter = this.events.iterator();
    iter.next();
    while (iter.hasNext())
    {
        Event event = iter.next();
        if ((event instanceof DocumentStartEvent) || (event instanceof CollectionStartEvent))
        {
            level++;
        }
        else if ((event instanceof DocumentEndEvent) || (event instanceof CollectionEndEvent))
        {
            level--;
        }
        else if (event instanceof StreamEndEvent)
        {
            level = - 1;
        }
        if (level < 0)
        {
            return false;
        }
    }
    return this.events.size() < (count + 1);
}
 
Example #14
Source File: Serializer.java    From Diorite with MIT License 5 votes vote down vote up
public void serialize(Node node) throws IOException
    {
        if (this.closed == null)
        {
            throw new SerializerException("serializer is not opened");
        }
        if (this.closed)
        {
            throw new SerializerException("serializer is closed");
        }
//        if (this.explicitRoot != null)
//        {
//            if (this.explicitRoot.getValue().startsWith(Tag.PREFIX))
//            {
//                try
//                {
//                    Class<?> type = Class.forName(this.explicitRoot.getClassName(), false, Thread.currentThread().getContextClassLoader());
//                    node.setType(type);
//                }
//                catch (Exception ignored)
//                {
//                }
//            }
//        }
        this.emitter.emit(new DocumentStartEvent(null, null, this.explicitStart, this.useVersion, this.useTags));
        this.anchorNode(node);
        if (this.explicitRoot != null)
        {
            node.setTag(this.explicitRoot);
        }

        this.emitter.writeComment(this.comments.getHeader(), 0, 1);
        this.serializeNode(node, null, new LinkedList<>(), false);
        this.emitter.writeComment(this.comments.getFooter(), 2, 0);

        this.emitter.emit(new DocumentEndEvent(null, null, this.explicitEnd));
        this.serializedNodes.clear();
        this.anchors.clear();
    }