Class NativeHDF5Reader
java.lang.Object
org.episteme.core.io.AbstractResourceReader<NativeRealDoubleMatrixStorage>
org.episteme.nativ.physics.loaders.hdf5.NativeHDF5Reader
- All Implemented Interfaces:
AutoCloseable, ResourceIO<NativeRealDoubleMatrixStorage>, ResourceReader<NativeRealDoubleMatrixStorage>
public class NativeHDF5Reader
extends AbstractResourceReader<NativeRealDoubleMatrixStorage>
implements AutoCloseable
High-performance HDF5 reader using Panama for zero-copy data transfer.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Returns the category for grouping.long[]getDatasetDimensions(String datasetName) Returns a short description of this resource handler.Returns a long description of this resource handler.getName()Returns the display name of this resource handler.Returns the base path where this resource is located.Returns the type of resource.String[]Returns the supported file extensions (e.g., ".h5", ".fits").String[]Returns the supported versions of the format this reader/writer handles.protected NativeRealDoubleMatrixStorageloadFromSource(String resourceId) Opens an HDF5 file and reads the dataset named "data".voidreadBlock(String datasetName, NativeRealDoubleMatrixStorage matrix, int startRow, int startCol, int rowCount, int colCount) Reads a block of data from the dataset using hyperslabs.voidreadMatrix(String datasetName, NativeRealDoubleMatrixStorage matrix) Methods inherited from class AbstractResourceReader
clearCache, getMiniCatalog, getSampleDataPath, isUsingFallback, load, loadAll, loadAllFromSource, loadFromFallback, loadFromInputStream, setCacheEnabledMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ResourceIO
getExpectedResourceFiles, isFileBased, isOutputMethods inherited from interface ResourceReader
isInput
-
Constructor Details
-
NativeHDF5Reader
public NativeHDF5Reader() -
NativeHDF5Reader
-
-
Method Details
-
open
Opens an HDF5 file and reads the dataset named "data".- Throws:
Exception
-
getName
Description copied from interface:ResourceIOReturns the display name of this resource handler. MUST be implemented with I18N support.- Specified by:
getNamein interfaceResourceIO<NativeRealDoubleMatrixStorage>- Returns:
- the display name
-
getDescription
Description copied from interface:ResourceIOReturns a short description of this resource handler. MUST be implemented with I18N support.- Specified by:
getDescriptionin interfaceResourceIO<NativeRealDoubleMatrixStorage>- Returns:
- the description
-
getCategory
Description copied from interface:ResourceIOReturns the category for grouping. MUST be implemented with I18N support.- Specified by:
getCategoryin interfaceResourceIO<NativeRealDoubleMatrixStorage>- Returns:
- the category name
-
getResourceType
Description copied from interface:ResourceIOReturns the type of resource.- Specified by:
getResourceTypein interfaceResourceIO<NativeRealDoubleMatrixStorage>
-
getResourcePath
Description copied from interface:ResourceIOReturns the base path where this resource is located.- Specified by:
getResourcePathin interfaceResourceIO<NativeRealDoubleMatrixStorage>
-
getLongDescription
Description copied from interface:ResourceIOReturns a long description of this resource handler. MUST be implemented with I18N support.- Specified by:
getLongDescriptionin interfaceResourceIO<NativeRealDoubleMatrixStorage>- Returns:
- the long description
-
getSupportedVersions
Description copied from interface:ResourceIOReturns the supported versions of the format this reader/writer handles.Each implementation MUST override this method to declare which versions of the underlying format are supported. The returned array should contain version strings in the format's standard notation (e.g., "3.0", "2.1", "Level 3 Version 2").
Examples:
- MathML: {"3.0", "2.0"}
- SBML: {"Level 3 Version 2", "Level 3 Version 1", "Level 2 Version 5"}
- PhyloXML: {"1.10", "1.00"}
- Specified by:
getSupportedVersionsin interfaceResourceIO<NativeRealDoubleMatrixStorage>- Returns:
- array of supported version strings, never null (empty array if version-agnostic)
-
getSupportedExtensions
Description copied from interface:ResourceIOReturns the supported file extensions (e.g., ".h5", ".fits").- Specified by:
getSupportedExtensionsin interfaceResourceIO<NativeRealDoubleMatrixStorage>
-
loadFromSource
- Specified by:
loadFromSourcein classAbstractResourceReader<NativeRealDoubleMatrixStorage>- Throws:
Exception
-
getDatasetDimensions
-
readMatrix
-
readBlock
public void readBlock(String datasetName, NativeRealDoubleMatrixStorage matrix, int startRow, int startCol, int rowCount, int colCount) Reads a block of data from the dataset using hyperslabs. -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-