gpt4 book ai didi

org.onosproject.yang.compiler.datamodel.YangModule.getImportList()方法的使用及代码示例

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

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

YangModule.getImportList介绍

[英]Returns the list of imported modules.
[中]返回导入模块的列表。

代码示例

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

@Override
public void addReferencesToImportList(Set<YangNode> yangNodeSet)
    throws DataModelException {
  // Run through the imported list to add references.
  for (YangImport yangImport : getImportList()) {
    yangImport.addReferenceToImport(yangNodeSet);
  }
}

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

/**
 * Assigns leafref with new prefixes while cloning.
 *
 * @param importedNodeName imported node name from grouping
 * @param atomicPath       atomic path in leafref
 * @param node             instance of YANG uses where cloning is done
 * @throws DataModelException data model error
 */
private static void assignCurrentLeafedWithNewPrefixes(String importedNodeName, YangAtomicPath atomicPath,
                            YangNode node)
    throws DataModelException {
  while (!(node instanceof YangReferenceResolver)) {
    node = node.getParent();
    if (node == null) {
      throw new DataModelException("Internal datamodel error: Datamodel tree is not correct");
    }
  }
  if (node instanceof YangModule) {
    List<YangImport> importInUsesList = ((YangModule) node).getImportList();
    if (importInUsesList != null && !importInUsesList.isEmpty()) {
      Iterator<YangImport> importInUsesListIterator = importInUsesList.listIterator();
      while (importInUsesListIterator.hasNext()) {
        YangImport importInUsesNode = importInUsesListIterator.next();
        if (importInUsesNode.getModuleName().equals(importedNodeName)) {
          atomicPath.getNodeIdentifier().setPrefix(importInUsesNode.getPrefixId());
        }
      }
    }
  }
}

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

/**
 * Process linking using import list.
 *
 * @param root   root node
 * @param nodeId node identifier
 * @return linked target node
 */
private YangNode getImportedNode(YangNode root, YangNodeIdentifier nodeId) {
  List<YangImport> importList;
  if (root instanceof YangModule) {
    importList = ((YangModule) root).getImportList();
  } else {
    importList = ((YangSubModule) root).getImportList();
  }
  for (YangImport imported : importList) {
    if (imported.getPrefixId().equals(nodeId.getPrefix())) {
      return imported.getImportedNode();
    }
  }
  if (nodeId.getName() != null && nodeId.getPrefix()
      .equals(constructsParentsPrefix)) {
    return rootNode;
  }
  return root;
}

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

/**
 * Validates the prefix of the YANG file where leaf-ref is present and
 * puts it in the map of node and prefix in leaf-ref.
 *
 * @param atomicList atomic content list in leaf-ref
 * @param leafRef    YANG leaf-ref
 */
private static void valPrefix(List<YangAtomicPath> atomicList,
               YangLeafRef leafRef) {
  for (YangAtomicPath atomicPath : atomicList) {
    String prefix = atomicPath.getNodeIdentifier().getPrefix();
    YangNode parent = leafRef.getParentNode();
    YangNode rootNode = getRootNode(parent);
    List<YangImport> imports;
    if (rootNode instanceof YangModule) {
      imports = ((YangModule) rootNode).getImportList();
    } else {
      imports = ((YangSubModule) rootNode).getImportList();
    }
    updatePrefixWithNode(rootNode, imports, prefix, leafRef);
  }
}

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