Refine search
private boolean checkEmptyDocument() { if (!(event instanceof DocumentStartEvent) || events.isEmpty()) { return false; } Event event = events.peek(); if (event instanceof ScalarEvent) { ScalarEvent e = (ScalarEvent) event; return e.getAnchor() == null && e.getTag() == null && e.getImplicit() != null && e .getValue().length() == 0; } return false; }
protected ScalarEvent _scalarEvent(String value, Character style) { String yamlTag = _typeId; if (yamlTag != null) { _typeId = null; } String anchor = _objectId; if (anchor != null) { _objectId = null; } // 29-Nov-2017, tatu: Not 100% sure why we don't force explicit tags for // type id, but trying to do so seems to double up tag output... return new ScalarEvent(anchor, yamlTag, NO_TAGS, value, null, null, style); } }
protected Node composeScalarNode(String anchor) { ScalarEvent ev = (ScalarEvent) parser.getEvent(); String tag = ev.getTag(); boolean resolved = false; Tag nodeTag; if (tag == null || tag.equals("!")) { nodeTag = resolver.resolve(NodeId.scalar, ev.getValue(), ev.getImplicit().canOmitTagInPlainScalar()); resolved = true; } else { nodeTag = new Tag(tag); } Node node = new ScalarNode(nodeTag, resolved, ev.getValue(), ev.getStartMark(), ev.getEndMark(), ev.getScalarStyle()); if (anchor != null) { anchors.put(anchor, node); } return node; }
private DumperOptions.ScalarStyle chooseScalarStyle() { ScalarEvent ev = (ScalarEvent) event; if (analysis == null) { analysis = analyzeScalar(ev.getValue()); } if (!ev.isPlain() && ev.getScalarStyle() == DumperOptions.ScalarStyle.DOUBLE_QUOTED || this.canonical) { return DumperOptions.ScalarStyle.DOUBLE_QUOTED; } if (ev.isPlain() && ev.getImplicit().canOmitTagInPlainScalar()) { if (!(simpleKeyContext && (analysis.empty || analysis.multiline)) && ((flowLevel != 0 && analysis.allowFlowPlain) || (flowLevel == 0 && analysis.allowBlockPlain))) { return null; } } if (!ev.isPlain() && (ev.getScalarStyle() == DumperOptions.ScalarStyle.LITERAL || ev.getScalarStyle() == DumperOptions.ScalarStyle.FOLDED)) { if (flowLevel == 0 && !simpleKeyContext && analysis.allowBlock) { return ev.getScalarStyle(); } } if (ev.isPlain() || ev.getScalarStyle() == DumperOptions.ScalarStyle.SINGLE_QUOTED) { if (analysis.allowSingleQuoted && !(simpleKeyContext && analysis.multiline)) { return DumperOptions.ScalarStyle.SINGLE_QUOTED; } } return DumperOptions.ScalarStyle.DOUBLE_QUOTED; }
private ScalarNode composeScalarNode(final Resolver resolver, final ScalarEvent ev) { final String tag = ev.getTag(); boolean resolved = false; final Tag nodeTag; if (tag == null || tag.equals("!")) { nodeTag = resolver.resolve(NodeId.scalar, ev.getValue(), ev.getImplicit().canOmitTagInPlainScalar()); resolved = true; } else { nodeTag = new Tag(tag); } return new ScalarNode(nodeTag, resolved, ev.getValue(), ev.getStartMark(), ev.getEndMark(), ev.getStyle()); } }
private boolean checkSimpleKey() { int length = 0; if (event instanceof NodeEvent && ((NodeEvent) event).getAnchor() != null) { if (preparedAnchor == null) { preparedAnchor = prepareAnchor(((NodeEvent) event).getAnchor()); } length += preparedAnchor.length(); } String tag = null; if (event instanceof ScalarEvent) { tag = ((ScalarEvent) event).getTag(); } else if (event instanceof CollectionStartEvent) { tag = ((CollectionStartEvent) event).getTag(); } if (tag != null) { if (preparedTag == null) { preparedTag = prepareTag(tag); } length += preparedTag.length(); } if (event instanceof ScalarEvent) { if (analysis == null) { analysis = analyzeScalar(((ScalarEvent) event).getValue()); } length += analysis.scalar.length(); } return length < 128 && (event instanceof AliasEvent || (event instanceof ScalarEvent && !analysis.empty && !analysis.multiline) || checkEmptySequence() || checkEmptyMapping()); }
private void processScalar() throws IOException { ScalarEvent ev = (ScalarEvent) event; if (analysis == null) { analysis = analyzeScalar(ev.getValue()); style = chooseScalarStyle(); writePlain(analysis.scalar, split); } else { switch (style) {
private Event maybeSetAbsoluteUrlAsRelative(ScalarEvent scalarEvent) throws MalformedURLException { String oldUrl = scalarEvent.getValue(); try { URI uri = new URIBuilder(oldUrl).build(); if (uri.isAbsolute()) { String fileName = uri.getPath(); // Strip leading slash if (!fileName.isEmpty()) { fileName = fileName.substring(1); } scalarEvent = new ScalarEvent(scalarEvent.getAnchor(), scalarEvent.getTag(), scalarEvent.getImplicit(), fileName, scalarEvent.getStartMark(), scalarEvent.getEndMark(), scalarEvent.getStyle()); } } catch (URISyntaxException ex) { log.debug("Invalid URI in index.yaml", ex); } return scalarEvent; }
protected JsonToken _decodeScalar(ScalarEvent scalar) throws IOException String value = scalar.getValue(); _textValue = value; _cleanedTextValue = null; String typeTag = scalar.getTag(); final int len = value.length(); Tag nodeTag = _yamlResolver.resolve(NodeId.scalar, value, scalar.getImplicit().canOmitTagInPlainScalar()); if (nodeTag == Tag.STR) { return JsonToken.VALUE_STRING;
private DumperOptions.ScalarStyle chooseScalarStyle() { ScalarEvent ev = (ScalarEvent) event; if (analysis == null) { analysis = analyzeScalar(ev.getValue()); } if (!ev.isPlain() && ev.getStyle() == DumperOptions.ScalarStyle.DOUBLE_QUOTED || this.canonical) { return DumperOptions.ScalarStyle.DOUBLE_QUOTED; } if (ev.isPlain() && ev.getImplicit().canOmitTagInPlainScalar()) { if (!(simpleKeyContext && (analysis.empty || analysis.multiline)) && ((flowLevel != 0 && analysis.allowFlowPlain) || (flowLevel == 0 && analysis.allowBlockPlain))) { return null; } } if (!ev.isPlain() && (ev.getStyle() == DumperOptions.ScalarStyle.LITERAL || ev.getStyle() == DumperOptions.ScalarStyle.FOLDED)) { if (flowLevel == 0 && !simpleKeyContext && analysis.allowBlock) { return ev.getStyle(); } } if (ev.isPlain() || ev.getStyle() == DumperOptions.ScalarStyle.SINGLE_QUOTED) { if (analysis.allowSingleQuoted && !(simpleKeyContext && analysis.multiline)) { return DumperOptions.ScalarStyle.SINGLE_QUOTED; } } return DumperOptions.ScalarStyle.DOUBLE_QUOTED; }
if (event instanceof ScalarEvent) { ScalarEvent ev = (ScalarEvent) event; tag = ev.getTag(); if (style == null) { style = chooseScalarStyle(); if ((!canonical || tag == null) && ((style == null && ev.getImplicit() .canOmitTagInPlainScalar()) || (style != null && ev.getImplicit() .canOmitTagInNonPlainScalar()))) { preparedTag = null; return; if (ev.getImplicit().canOmitTagInPlainScalar() && tag == null) { tag = "!"; preparedTag = null; preparedTag = prepareTag(tag); writeIndicator(preparedTag, true, false, false); preparedTag = null;
@Override public void scalar(ScalarEvent evt, YsldValidateContext context) { String key = evt.getValue(); if ("name".equals(key)) { context.push(new ZoomContextNameValidator()); } }
@Override public void scalar(ScalarEvent evt, YsldValidateContext context) { String message = validate(evt.getValue(), evt, context); if (message != null) { context.error(message, evt.getStartMark()); } context.pop(); }
public void addValueEvent(ScalarEvent event, String name, String value) throws SAXException { contentHandler.addContentElement(name, value, event.getAnchor(), true); }
Writer writer = new OutputStreamWriter(os)) { Yaml yaml = new Yaml(); Emitter emitter = new Emitter(writer, new DumperOptions()); boolean rewrite = false; for (Event event : yaml.parse(reader)) { event = maybeSetAbsoluteUrlAsRelative(scalarEvent); else if (URLS.equals(scalarEvent.getValue())) { rewrite = true; rewrite = false; emitter.emit(event);
private void _writeScalarBinary(Base64Variant b64variant, byte[] data) throws IOException { // 15-Dec-2017, tatu: as per [dataformats-text#62], can not use SnakeYAML's internal // codec. Also: force use of linefeed variant if using default if (b64variant == Base64Variants.getDefaultVariant()) { b64variant = Base64Variants.MIME; } String encoded = b64variant.encode(data); _emitter.emit(new ScalarEvent(null, TAG_BINARY, EXPLICIT_TAGS, encoded, null, null, STYLE_BASE64)); }
@Override public String getTypeId() throws IOException, JsonGenerationException { String tag; if (_lastEvent instanceof CollectionStartEvent) { tag = ((CollectionStartEvent) _lastEvent).getTag(); } else if (_lastEvent instanceof ScalarEvent) { tag = ((ScalarEvent) _lastEvent).getTag(); } else { return null; } if (tag != null) { /* 04-Aug-2013, tatu: Looks like YAML parser's expose these in... * somewhat exotic ways sometimes. So let's prepare to peel off * some wrappings: */ while (tag.startsWith("!")) { tag = tag.substring(1); } return tag; } return null; }
@Override protected void validateParsed(Double parsed, ScalarEvent evt, YsldValidateContext context) { if (parsed.compareTo(0d) < 0) { context.error("scale denominator must be non-negative", evt.getStartMark()); } else if (parsed.isNaN()) { context.error("scale denominator is not a number", evt.getStartMark()); } } }