gpt4 book ai didi

org.onosproject.yang.compiler.datamodel.YangIdentity类的使用及代码示例

转载 作者:知者 更新时间:2024-03-17 03:15:31 33 4
gpt4 key购买 nike

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

YangIdentity介绍

[英]Represents data model node to maintain information defined in YANG identity.
[中]表示数据模型节点,以维护标识中定义的信息。

代码示例

代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel

/**
   * Adds an identity to all the parent nodes.
   *
   * @param referredId referred identity
   * @param baseId     base identity
   */
  private void addToAllParent(YangIdentity referredId, YangIdentity baseId) {
    YangIdentity baseIdentity = baseId;
    while (baseIdentity != null) {
      List<YangIdentity> list = baseIdentity.getExtendList();
      if (!list.contains(referredId)) {
        baseIdentity.addToExtendList(referredId);
      }

      YangBase base = baseIdentity.getBaseNode();
      baseIdentity = null;
      if (base != null) {
        baseIdentity = base.getReferredIdentity();
      }
    }
    referredId.setAddedToAllParent(true);
  }
}

代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel

private static YangNamespace getReferIdNamespace(YangIdentity refId, String v) {
  String baseIdentity = refId.getYangSchemaNodeIdentifier().getName();
  if (v.equals(baseIdentity)) {
    return refId.getYangSchemaNodeIdentifier().getNameSpace();
  }
  for (YangIdentity i : refId.getExtendList()) {
    String refIdentity = i.getYangSchemaNodeIdentifier().getName();
    if (v.equals(refIdentity)) {
      return i.getYangSchemaNodeIdentifier().getNameSpace();
    }
  }
  throw new IllegalArgumentException("Invalid value of data: " + v);
}

代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel

/**
 * Adds to the extend list for all the parent nodes with its complete tree.
 */
public void addToExtendList() {
  while (!stack.empty()) {
    YangIdentity baseId = stack.peek();
    List<YangIdentity> exList = baseId.getExtendList();
    if (exList != null && !exList.isEmpty()) {
      for (YangIdentity id : exList) {
        if (!id.isAddedToAllParent()) {
          stack.push(id);
        }
      }
    }
    YangIdentity resolvingId = stack.pop();
    addToAllParent(resolvingId, resolvingId.getBaseNode().getReferredIdentity());
  }
}

代码示例来源:origin: org.onosproject/onos-yang-compiler-parser

identity.setName(identifier);
identity.setLineNumber(ctx.getStart().getLine());
identity.setCharPosition(ctx.getStart().getCharPositionInLine());
identity.setFileName(listener.getFileName());
Parsable curData = listener.getParsedDataStack().peek();
if (curData instanceof YangModule || curData instanceof YangSubModule) {

代码示例来源:origin: org.onosproject/onos-yang-compiler-linker

/**
 * Returns if there is any unresolved base in identity.
 *
 * @param node module/submodule node
 */
private void addUnResolvedBaseToStack(YangNode node) {
  YangIdentity curNode = (YangIdentity) node;
  if (curNode.getBaseNode() != null) {
    if (curNode.getBaseNode().getResolvableStatus() != RESOLVED) {
      addEntityToStack((T) curNode.getBaseNode(), node);
    }
  }
}

代码示例来源:origin: org.onosproject/onos-yang-compiler-linker

private void addToIdentityExtendList(YangIdentity baseIdentity, YangIdentity
    referredIdentity) {
  YangIdentity referredId = referredIdentity;
  referredId.addToExtendList(baseIdentity);
}

代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel

/**
 * Creates a new identity handler.
 *
 * @param base YANG base
 */
public IdentityHandler(YangBase base) {
  stack = new Stack<>();
  YangIdentity id = base.getParentIdentity();
  if (id.isAddedToAllParent()) {
    return;
  }
  stack.push(id);
  addToExtendList();
}

代码示例来源:origin: org.onosproject/onos-yang-compiler-parser

((YangIdentity) tmpData).setBaseNode(yangBase);
yangBase.setParentIdentity(((YangIdentity) tmpData));

代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel

@Override
public Object resolve()
    throws DataModelException {
  // Check if the derived info is present.
  YangIdentity identity = getReferredIdentity();
  if (identity == null) {
    throw new DataModelException("Linker Error: Identity information is missing. " +
        getName() + " in " +
        getLineNumber() + " at " +
        getCharPosition() +
        " in " + getFileName() + "\"");
  }
  while (identity.getBaseNode() != null) {
    if (identity.getBaseNode().getResolvableStatus() != RESOLVED) {
      setResolvableStatus(INTRA_FILE_RESOLVED);
      return null;
    }
    identity = identity.getBaseNode().getReferredIdentity();
  }
  return null;
}

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