示例#1
0
  /**
   * This is a recursive function that returns all the nodes in this archetype descriptor.
   *
   * @param nodes the node descriptors to process
   * @param nodes the resultant node array
   */
  private void getAllNodeDescriptors(NodeDescriptor[] nodes, List<NodeDescriptor> result) {
    Arrays.sort(nodes, new NodeDescriptorIndexComparator());

    for (NodeDescriptor node : nodes) {
      result.add(node);
      if (node.getNodeDescriptorsAsArray().length > 0) {
        getAllNodeDescriptors(node.getNodeDescriptorsAsArray(), result);
      }
    }
  }
示例#2
0
  /**
   * Return all the {@link NodeDescriptor} for this archetype. This will basically flatten out the
   * hierarchical node descriptor structure
   *
   * @return List<NodeDescriptor>
   */
  public List<NodeDescriptor> getAllNodeDescriptors() {
    List<NodeDescriptor> nodes = new ArrayList<NodeDescriptor>();
    getAllNodeDescriptors(getNodeDescriptorsAsArray(), nodes);

    return nodes;
  }