Interface ResourceIO<T>
- All Known Subinterfaces:
CatalogReader, FormalSystemExporter, FormalSystemImporter, LegalDocumentLoader, LegalDocumentWriter, ResourceReader<T>, ResourceWriter<T>
- All Known Implementing Classes:
AbstractLegalDocumentWriter, AbstractResourceReader, AbstractResourceWriter, AcousticEnvironmentLoader, AkomaNtosoLoader, AlphaVantageQuoteReader, ArticleCatalogReader, BinaryModelLoader, BiologicalResourceReader, BioPAXReader, BNFGrammarReader, BookCatalogReader, ChemistryDataReader, CMLReader, CompositionLoader, CoqExporter, CoqImporter, CountryCodesReader, CrossRefReader, CSVTimeSeriesReader, DemographicResourceReader, DICOMReader, DrugBankReader, EconomicScenarioReader, ElevationReader, ETOPOElevationReader, EurLexLoader, ExchangeRateReader, FactbookReader, FASTABioSequenceReader, FASTAReader, FASTAWriter, FASTQReader, FbxMeshReader, FinancialMarketReader, FITSReader, GBIFReader, GBIFTaxonomyReader, GenBankReader, GeoJSONReader, GMLReader, GoogleElevationReader, GoogleFormsReader, HDF5Reader, HorizonsEphemerisReader, HumanDevelopmentReader, ICD10Reader, ITISReader, IUPACGoldBookReader, JPLEphemerisLoader, LegifranceLoader, LinguisticDataReader, MathMLReader, MetamathExporter, MetamathImporter, MidiLoader, MusicXMLReader, NASAExoplanetsReader, NativeFITSReader, NativeFITSWriter, NativeHDF5Reader, NativeHDF5TensorWriter, NativeHDF5Writer, NCBITaxonomyReader, NeuralModelWriter, NeuroMLReader, NMEAReader, ObjMeshReader, OEISWriter, OllamaModelReader, ONNXModelReader, OpenAIModelReader, OpenMathReader, OpenMathWriter, OpenWeatherReader, PDBMLReader, PDBReader, PDBWriter, PEGGrammarReader, PeriodicTableReader, PhylogeneticTreeReader, PhyloXMLReader, PMMLReader, PubChemReader, QedeqExporter, QedeqImporter, SBMLReader, SciencesDatabaseReader, SIMBADReader, SRTMElevationReader, StarCatalogLoader, StarReader, StlMeshReader, ThermoMLReader, TigerXMLReader, UniProtReader, UnLawLoader, USGSEarthquakesReader, UsLawLoader, VirusReader, VitaminReader, VizieRReader, VTKWriter, Word2VecReader, WorldBankReader, ZarrReader
public interface ResourceIO<T>
Common interface for all resource I/O components in Episteme.
Replaces the old ResourceLoader.
Implementations MUST override: getCategory(), getName(), getDescription()
with proper I18N support.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Method Summary
Modifier and TypeMethodDescriptionReturns the category for grouping.Returns a short description of this resource handler.default String[]Returns expected resource file names for auditing.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.default String[]Returns the supported file extensions (e.g., ".h5", ".fits").String[]Returns the supported versions of the format this reader/writer handles.default booleanReturns true if this uses local file resources.default booleanisInput()Returns true if this is an input (reader) resource.default booleanisOutput()Returns true if this is an output (writer) resource.
-
Method Details
-
getResourcePath
String getResourcePath()Returns the base path where this resource is located. -
getResourceType
-
isFileBased
default boolean isFileBased()Returns true if this uses local file resources. -
getExpectedResourceFiles
Returns expected resource file names for auditing. -
getName
String getName()Returns the display name of this resource handler. MUST be implemented with I18N support.- Returns:
- the display name
-
getDescription
String getDescription()Returns a short description of this resource handler. MUST be implemented with I18N support.- Returns:
- the description
-
getLongDescription
String getLongDescription()Returns a long description of this resource handler. MUST be implemented with I18N support.- Returns:
- the long description
-
getCategory
String getCategory()Returns the category for grouping. MUST be implemented with I18N support.- Returns:
- the category name
-
isInput
default boolean isInput()Returns true if this is an input (reader) resource. -
isOutput
default boolean isOutput()Returns true if this is an output (writer) resource. -
getSupportedVersions
String[] getSupportedVersions()Returns 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"}
- Returns:
- array of supported version strings, never null (empty array if version-agnostic)
-
getSupportedExtensions
Returns the supported file extensions (e.g., ".h5", ".fits").
-