org.yaml.snakeyaml.events.StreamEndEvent Java Examples

The following examples show how to use org.yaml.snakeyaml.events.StreamEndEvent. 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
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 #2
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 #3
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 #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: Serializer.java    From orion.server with Eclipse Public License 1.0 5 votes vote down vote up
public void close() throws IOException {
    if (closed == null) {
        throw new SerializerException("serializer is not opened");
    } else if (!Boolean.TRUE.equals(closed)) {
        this.emitter.emit(new StreamEndEvent(null, null));
        this.closed = Boolean.TRUE;
    }
}
 
Example #6
Source File: Serializer.java    From snake-yaml with Apache License 2.0 5 votes vote down vote up
public void close() throws IOException {
    if (closed == null) {
        throw new SerializerException("serializer is not opened");
    } else if (!Boolean.TRUE.equals(closed)) {
        this.emitter.emit(new StreamEndEvent(null, null));
        this.closed = Boolean.TRUE;
    }
}
 
Example #7
Source File: CanonicalParser.java    From snake-yaml with Apache License 2.0 5 votes vote down vote up
private void parseStream() {
    scanner.getToken(Token.ID.StreamStart);
    events.add(new StreamStartEvent(null, null));
    while (!scanner.checkToken(Token.ID.StreamEnd)) {
        if (scanner.checkToken(Token.ID.Directive, Token.ID.DocumentStart)) {
            parseDocument();
        } else {
            throw new CanonicalException("document is expected, got " + scanner.tokens.get(0));
        }
    }
    scanner.getToken(Token.ID.StreamEnd);
    events.add(new StreamEndEvent(null, null));
}
 
Example #8
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 #9
Source File: Serializer.java    From Diorite with MIT License 5 votes vote down vote up
public void close() throws IOException
{
    if (this.closed == null)
    {
        throw new SerializerException("serializer is not opened");
    }
    else if (! Boolean.TRUE.equals(this.closed))
    {
        this.emitter.emit(new StreamEndEvent(null, null));
        this.closed = Boolean.TRUE;
    }
}
 
Example #10
Source File: Emitter.java    From orion.server with Eclipse Public License 1.0 4 votes vote down vote up
public void expect() throws IOException {
    if (event instanceof DocumentStartEvent) {
        DocumentStartEvent ev = (DocumentStartEvent) event;
        if ((ev.getVersion() != null || ev.getTags() != null) && openEnded) {
            writeIndicator("...", true, false, false);
            writeIndent();
        }
        if (ev.getVersion() != null) {
            String versionText = prepareVersion(ev.getVersion());
            writeVersionDirective(versionText);
        }
        tagPrefixes = new LinkedHashMap<String, String>(DEFAULT_TAG_PREFIXES);
        if (ev.getTags() != null) {
            Set<String> handles = new TreeSet<String>(ev.getTags().keySet());
            for (String handle : handles) {
                String prefix = ev.getTags().get(handle);
                tagPrefixes.put(prefix, handle);
                String handleText = prepareTagHandle(handle);
                String prefixText = prepareTagPrefix(prefix);
                writeTagDirective(handleText, prefixText);
            }
        }
        boolean implicit = first && !ev.getExplicit() && !canonical
                && ev.getVersion() == null
                && (ev.getTags() == null || ev.getTags().isEmpty())
                && !checkEmptyDocument();
        if (!implicit) {
            writeIndent();
            writeIndicator("---", true, false, false);
            if (canonical) {
                writeIndent();
            }
        }
        state = new ExpectDocumentRoot();
    } else if (event instanceof StreamEndEvent) {
        // TODO fix 313 PyYAML changeset
        // if (openEnded) {
        // writeIndicator("...", true, false, false);
        // writeIndent();
        // }
        writeStreamEnd();
        state = new ExpectNothing();
    } else {
        throw new EmitterException("expected DocumentStartEvent, but got " + event);
    }
}
 
Example #11
Source File: Emitter.java    From snake-yaml with Apache License 2.0 4 votes vote down vote up
public void expect() throws IOException {
    if (event instanceof DocumentStartEvent) {
        DocumentStartEvent ev = (DocumentStartEvent) event;
        if ((ev.getVersion() != null || ev.getTags() != null) && openEnded) {
            writeIndicator("...", true, false, false);
            writeIndent();
        }
        if (ev.getVersion() != null) {
            String versionText = prepareVersion(ev.getVersion());
            writeVersionDirective(versionText);
        }
        tagPrefixes = new LinkedHashMap<String, String>(DEFAULT_TAG_PREFIXES);
        if (ev.getTags() != null) {
            Set<String> handles = new TreeSet<String>(ev.getTags().keySet());
            for (String handle : handles) {
                String prefix = ev.getTags().get(handle);
                tagPrefixes.put(prefix, handle);
                String handleText = prepareTagHandle(handle);
                String prefixText = prepareTagPrefix(prefix);
                writeTagDirective(handleText, prefixText);
            }
        }
        boolean implicit = first && !ev.getExplicit() && !canonical
                && ev.getVersion() == null
                && (ev.getTags() == null || ev.getTags().isEmpty())
                && !checkEmptyDocument();
        if (!implicit) {
            writeIndent();
            writeIndicator("---", true, false, false);
            if (canonical) {
                writeIndent();
            }
        }
        state = new ExpectDocumentRoot();
    } else if (event instanceof StreamEndEvent) {
        // TODO fix 313 PyYAML changeset
        // if (openEnded) {
        // writeIndicator("...", true, false, false);
        // writeIndent();
        // }
        writeStreamEnd();
        state = new ExpectNothing();
    } else {
        throw new EmitterException("expected DocumentStartEvent, but got " + event);
    }
}
 
Example #12
Source File: ExpectDocumentStart.java    From Diorite with MIT License 4 votes vote down vote up
public static void expect(Emitter emitter, boolean first) throws IOException
{
    if (emitter.event instanceof DocumentStartEvent)
    {
        DocumentStartEvent ev = (DocumentStartEvent) emitter.event;
        if (((ev.getVersion() != null) || (ev.getTags() != null)) && emitter.openEnded)
        {
            emitter.writeIndicator("...", true, false, false);
            emitter.writeIndent();
        }
        if (ev.getVersion() != null)
        {
            String versionText = emitter.prepareVersion(ev.getVersion());
            emitter.writeVersionDirective(versionText);
        }
        emitter.tagPrefixes = new LinkedHashMap<>(Emitter.DEFAULT_TAG_PREFIXES);
        if (ev.getTags() != null)
        {
            Set<String> handles = new TreeSet<>(ev.getTags().keySet());
            for (String handle : handles)
            {
                String prefix = ev.getTags().get(handle);
                emitter.tagPrefixes.put(prefix, handle);
                String handleText = emitter.prepareTagHandle(handle);
                String prefixText = emitter.prepareTagPrefix(prefix);
                emitter.writeTagDirective(handleText, prefixText);
            }
        }
        boolean implicit =
                first && ! ev.getExplicit() && ! emitter.canonical && (ev.getVersion() == null) && ((ev.getTags() == null) || ev.getTags().isEmpty()) &&
                ! emitter.checkEmptyDocument();
        if (! implicit)
        {
            emitter.writeIndent();
            emitter.writeIndicator("---", true, false, false);
            if (emitter.canonical)
            {
                emitter.writeIndent();
            }
        }
        emitter.state = new ExpectDocumentRoot();
    }
    else if (emitter.event instanceof StreamEndEvent)
    {
        // TODO fix 313 PyYAML changeset
        // if (openEnded) {
        // writeIndicator("...", true, false, false);
        // writeIndent();
        // }
        emitter.writeStreamEnd();
        emitter.state = new ExpectNothing();
    }
    else
    {
        throw new EmitterException("expected DocumentStartEvent, but got " + emitter.event);
    }
}