Class DrugBankReader
java.lang.Object
org.episteme.natural.medicine.loaders.DrugBankReader
- All Implemented Interfaces:
ResourceIO<Medication>, ResourceReader<Medication>
Loader for Drug/Medication Database (e.g. DrugBank or similar API).
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionFetches medication details by Drug ID.Returns the category for grouping.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 versions of the format this reader/writer handles.Loads a resource by its identifier.loadFromResource(String resourcePath) Loads medications from a JSON resource (dump).searchByName(String name) Searches drugs by name using the API.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ResourceIO
getExpectedResourceFiles, getSupportedExtensions, isFileBased, isOutputMethods inherited from interface ResourceReader
isInput
-
Constructor Details
-
DrugBankReader
public DrugBankReader()
-
-
Method Details
-
getCategory
Description copied from interface:ResourceIOReturns the category for grouping. MUST be implemented with I18N support.- Specified by:
getCategoryin interfaceResourceIO<Medication>- Returns:
- the category name
-
getDescription
Description copied from interface:ResourceIOReturns a short description of this resource handler. MUST be implemented with I18N support.- Specified by:
getDescriptionin interfaceResourceIO<Medication>- Returns:
- the description
-
getResourceType
Description copied from interface:ResourceIOReturns the type of resource.- Specified by:
getResourceTypein interfaceResourceIO<Medication>
-
getResourcePath
Description copied from interface:ResourceIOReturns the base path where this resource is located.- Specified by:
getResourcePathin interfaceResourceIO<Medication>
-
load
Description copied from interface:ResourceReaderLoads a resource by its identifier.- Specified by:
loadin interfaceResourceReader<Medication>- Throws:
Exception
-
fetchById
Fetches medication details by Drug ID.- Parameters:
id- the DrugBank ID or equivalent- Returns:
- the medication entry
-
searchByName
Searches drugs by name using the API.- Parameters:
name- search term- Returns:
- list of matching drugs
-
loadFromResource
Loads medications from a JSON resource (dump).- Parameters:
resourcePath- classpath to json file- Returns:
- list of medications
-
getName
Description copied from interface:ResourceIOReturns the display name of this resource handler. MUST be implemented with I18N support.- Specified by:
getNamein interfaceResourceIO<Medication>- Returns:
- the display name
-
getLongDescription
Description copied from interface:ResourceIOReturns a long description of this resource handler. MUST be implemented with I18N support.- Specified by:
getLongDescriptionin interfaceResourceIO<Medication>- 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<Medication>- Returns:
- array of supported version strings, never null (empty array if version-agnostic)
-