gpt4 book ai didi

org.springframework.ide.vscode.commons.yaml.path.YamlPath类的使用及代码示例

转载 作者:知者 更新时间:2024-03-19 19:43:31 26 4
gpt4 key购买 nike

本文整理了Java中org.springframework.ide.vscode.commons.yaml.path.YamlPath类的一些代码示例,展示了YamlPath类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YamlPath类的具体详情如下:
包路径:org.springframework.ide.vscode.commons.yaml.path.YamlPath
类名称:YamlPath

YamlPath介绍

暂无

代码示例

代码示例来源:origin: spring-projects/sts4

public YamlPath dropLast() {
  return dropLast(1);
}

代码示例来源:origin: spring-projects/sts4

public YamlPath commonPrefix(YamlPath other) {
  ArrayList<YamlPathSegment> common = new ArrayList<>(this.size());
  for (int i = 0; i < this.size(); i++) {
    YamlPathSegment s = this.getSegment(i);
    if (s.equals(other.getSegment(i))) {
      common.add(s);
    }
  }
  return new YamlPath(common);
}

代码示例来源:origin: spring-projects/sts4

public YamlPath tail() {
  return dropFirst(1);
}

代码示例来源:origin: spring-projects/sts4

public YamlPath dropLast(int dropCount) {
  if (dropCount>=size()) {
    return EMPTY;
  }
  if (dropCount==0) {
    return this;
  }
  YamlPathSegment[] newPath = new YamlPathSegment[segments.length-dropCount];
  for (int i = 0; i < newPath.length; i++) {
    newPath[i] = segments[i];
  }
  return new YamlPath(newPath);
}

代码示例来源:origin: spring-projects/sts4

if (assistContext != null) {
  List<NodeRef<?>> astPath = ast.findPath(offset);
  final YamlPath path = YamlPath.fromASTPath(astPath);
  if (path != null) {
    YamlPath assistPath = path;
    if (assistPath.pointsAtKey()) {
      String key = path.getLastSegment().toPropString();
      assistPath = path.dropLast().append(YamlPathSegment.valueAt(key));
    assistContext = assistPath.traverse(assistContext);
    if (assistContext != null) {
      Renderable info = path.pointsAtValue()
          ? assistContext.getValueHoverInfo(ymlDoc, new DocumentRegion(doc, region))
          : assistContext.getHoverInfo();

代码示例来源:origin: spring-projects/sts4

/**
 * Determines the actual health-check-type that applies to a given node, taking into account
 * inheritance from parent node, and default value.
 */
private String getEffectiveHealthCheckType(YamlFileAST ast, YamlPath path, Node node) {
  String explicit = NodeUtil.getScalarProperty(node, HEALTH_CHECK_TYPE_PROP);
  if (explicit!=null) {
    return explicit;
  }
  if (path.size()>2) {
    //Must consider inherited props!
    YamlPath parentPath = path.dropLast(2);
    Node parent = parentPath.traverseToNode(ast);
    String inherited = NodeUtil.getScalarProperty(parent, HEALTH_CHECK_TYPE_PROP);
    if (inherited!=null) {
      return inherited;
    }
  }
  return "port";
}

代码示例来源:origin: spring-projects/sts4

private static YamlTraversal getConflictingNodesTraversal(YamlPath path, String[] propertyIds) {
  Assert.isLegal(propertyIds.length > 0);
  YamlTraversal properties = null;
  for (String id : propertyIds) {
    properties = properties == null ? YamlPathSegment.keyAt(id) : properties.or(YamlPathSegment.keyAt(id));
  }
  YamlTraversal traversal = path.then(properties);
  if (path.size() > 2) {
    traversal = traversal.or(path.dropLast(2).then(properties));
  }
  return traversal;
}

代码示例来源:origin: spring-projects/sts4

@Override
public YamlTraversal then(YamlTraversal _other) {
  if (isEmpty()) {
    return _other;
  } else if (_other.isEmpty()) {
    return this;
  } else if (_other instanceof YamlPathSegment) {
    return this.append((YamlPathSegment) _other);
  } else if (_other instanceof YamlPath) {
    YamlPath other = (YamlPath) _other;
    return new YamlPath(
      Stream.concat(
        Arrays.stream(this.segments),
        Arrays.stream(other.segments)
      ).toArray(sz -> new YamlPathSegment[sz])
    );
  } else {
    return new SequencingYamlTraversal(this, _other);
  }
}

代码示例来源:origin: spring-projects/sts4

protected String createPathInsertionText(YamlPath path, int indent, boolean startOnNewLine, String appendText) {
  StringBuilder buf = new StringBuilder();
  for (int i = 0; i < path.size(); i++) {
    if (startOnNewLine||i>0) {
      indentUtil.addNewlineWithIndent(indent, buf);
    }
    String key = path.getSegment(i).toPropString();
    buf.append(YamlUtil.stringEscape(key));
    buf.append(":");
    if (i<path.size()-1) {
      indent += YamlIndentUtil.INDENT_BY;
    } else {
      buf.append(indentUtil.applyIndentation(appendText, indent));
    }
  }
  return buf.toString();
}

代码示例来源:origin: spring-projects/sts4

if (!path.isEmpty()) {
  YamlPathSegment s = path.getSegment(0);
  if (s.getType()==YamlPathSegmentType.VAL_AT_KEY) {
    String key = s.toPropString();
      createNewPath(node, path, appendText);
    } else {
      createPath(existing, path.tail(), appendText);

代码示例来源:origin: spring-projects/sts4

public YamlPath prepend(YamlPathSegment s) {
  YamlPathSegment[] newPath = new YamlPathSegment[segments.length+1];
  newPath[0] = s;
  System.arraycopy(segments, 0, newPath, 1, segments.length);
  return new YamlPath(newPath);
}

代码示例来源:origin: spring-projects/sts4

@Override
public YamlTraversal then(YamlTraversal other) {
  //Overriding the `then` method to try to compress sequences of segments into YamlPath instead of deeply nested
  if (other.isEmpty()) {
    return this;
  } else if (other instanceof YamlPathSegment) {
    return new YamlPath(this, (YamlPathSegment)other);
  } else if (other instanceof YamlPath) {
    return ((YamlPath) other).prepend(this);
  } else {
    return new SequencingYamlTraversal(this, other);
  }
}

代码示例来源:origin: spring-projects/sts4

/**
 * Attempt to interpret last segment of path as a bean property name.
 * @return The name of the property or null if not applicable.
 */
public String getBeanPropertyName() {
  if (!isEmpty()) {
    YamlPathSegment lastSegment = getLastSegment();
    YamlPathSegmentType kind = lastSegment.getType();
    if (kind==YamlPathSegmentType.KEY_AT_KEY ||  kind==YamlPathSegmentType.VAL_AT_KEY) {
      return lastSegment.toPropString();
    }
  }
  return null;
}

代码示例来源:origin: spring-projects/sts4

SNode root = doc.getStructure();
if (root!=null) {
  YamlPath path = YamlPath.decode(params.getPath());
  SNode _target = path.traverse(root);
  if (_target instanceof SChildBearingNode) {
    YamlIndentUtil indenter = new YamlIndentUtil(doc);

代码示例来源:origin: spring-projects/sts4

private YamlPath keyAt(YamlPath path, String key) {
  if (path!=null && key!=null) {
    return path.append(YamlPathSegment.keyAt(key));
  }
  return null;
}

代码示例来源:origin: spring-projects/sts4

@Override
public Renderable getHoverInfo() {
  if (parent!=null) {
    return parent.getHoverInfo(contextPath.getLastSegment());
  }
  return null;
}

代码示例来源:origin: spring-projects/sts4

public static ReconcileProblem missingProperties(String msg, DynamicSchemaContext dc, Set<String> missingProps, String snippet, int cursorOffset, Node parent, MappingNode map, QuickfixType quickfixType) {
  YamlPath contextPath = dc.getPath();
  List<String> segments = Stream.of(contextPath.getSegments())
      .map(YamlPathSegment::encode)
      .collect(Collectors.toList());
  String fixTitle = missingProps.size()==1
      ? "Add property '"+CollectionUtil.getAny(missingProps)+"'"
      : "Add properties: "+missingProps;
  QuickfixData<MissingPropertiesData> fix = new QuickfixData<MissingPropertiesData>(
      quickfixType,
      new MissingPropertiesData(
          dc.getDocument().getUri(),
          segments,
          ImmutableList.copyOf(missingProps),
          snippet,
          cursorOffset
      ),
      fixTitle
  );
  return missingProperty(msg, dc.getDocument(), parent, map)
      .addQuickfix(fix);
}

代码示例来源:origin: spring-projects/sts4

public YamlPath dropFirst(int dropCount) {
  if (dropCount>=size()) {
    return EMPTY;
  }
  if (dropCount==0) {
    return this;
  }
  YamlPathSegment[] newPath = new YamlPathSegment[segments.length-dropCount];
  for (int i = 0; i < newPath.length; i++) {
    newPath[i] = segments[i+dropCount];
  }
  return new YamlPath(newPath);
}

代码示例来源:origin: spring-projects/sts4

public YamlPath append(YamlPathSegment s) {
  YamlPathSegment[] newPath = Arrays.copyOf(segments, segments.length+1);
  newPath[segments.length] = s;
  return new YamlPath(newPath);
}

代码示例来源:origin: spring-projects/sts4

private YamlPath valueAt(YamlPath path, int index) {
  if (path!=null) {
    return path.append(YamlPathSegment.valueAt(index));
  }
  return null;
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com