package org.openlca.ilcd.io; import java.io.Closeable; import java.io.File; import java.io.InputStream; import java.util.Iterator; import org.openlca.ilcd.commons.IDataSet; import org.openlca.ilcd.sources.Source; public interface DataStore extends Closeable { <T> T get(Class<T> type, String id) throws DataStoreException; InputStream getExternalDocument(String sourceId, String fileName) throws DataStoreException; void put(IDataSet ds) throws DataStoreException; void put(Source source, File[] files) throws DataStoreException; <T> boolean delete(Class<T> type, String id) throws DataStoreException; <T> Iterator<T> iterator(Class<T> type) throws DataStoreException; <T> boolean contains(Class<T> type, String id) throws DataStoreException; }