@Override public void close() throws IOException { mOpen = false; for (IDataset dataset : mDatasets) { dataset.close(); } }
@Override public void open() throws IOException { mOpen = true; for (IDataset dataset : mDatasets) { dataset.open(); } }
@Override public boolean sync() throws IOException { boolean result = true; for (IDataset dataset : mDatasets) { if (!dataset.sync()) { result = false; } } return result; }
@Override public IGroup getRootGroup() { if (mRootPhysical == null && mDatasets.size() > 0) { HdfGroup[] groups = new HdfGroup[mDatasets.size()]; int i = 0; for (IDataset dataset : mDatasets) { groups[i++] = (HdfGroup) dataset.getRootGroup(); } mRootPhysical = new NxsGroup(groups, null, this); } return mRootPhysical; }
@Override public IDataset openDataset(URI uri) { IDataset dataset = null; try { dataset = createDatasetInstance(uri); if (dataset != null) { dataset.open(); } } catch (Exception e) { Factory.getLogger().log(Level.SEVERE, "Unable to open dataset!", e); } return dataset; }
@Override public void save() throws WriterException { for (IDataset dataset : mDatasets) { dataset.save(); } }
@Override public void save(final String parentPath, final IAttribute attribute) throws WriterException { for (IDataset dataset : mDatasets) { dataset.save(parentPath, attribute); } }
@Override public void save(final IContainer container) throws WriterException { for (IDataset dataset : mDatasets) { dataset.save(container); } }
@Override public void saveTo(final String location) throws WriterException { for (IDataset dataset : mDatasets) { dataset.saveTo(location); } }
@Override public IContainer getRootGroup() { return mDataset.getRootGroup(); }