Example #1
0
  private void findDatasets(
      final String name, final List<ILazyDataset> list, final HDF5NodeLink link) {
    HDF5Node n = null;
    if (link.isDestinationASymLink()) {
      if (link.getName().equals(name)) {}
      HDF5SymLink slink = (HDF5SymLink) link.getDestination();
      if (slink.isDataset()) n = slink.getNode();
    } else {
      n = link.getDestination();
    }

    if (n == null) return;

    if (n instanceof HDF5Group) {
      for (HDF5NodeLink l : (HDF5Group) n) findDatasets(name, list, l);
    } else if (n instanceof HDF5Dataset) {
      if (link.getName().equals(name)) {
        ILazyDataset dataset = ((HDF5Dataset) n).getDataset();
        if (!list.contains(dataset)) list.add(dataset);
      }
    }
  }