package org.inbio.m3s.dao.multimedia; public interface MetadataExtractorDAO { /** * This constant values have to match the metadata_standard_id and name of the * metadata_standard table of the m3s core database schema */ public static final Integer EXIF = new Integer(1); public static final Integer FILE_INFO = new Integer(2); /***************************************************************************** * read metadata operations * * constructor of child classes must have the media source file as parameter * * @param source * file source where the attribute it's going to be read ****************************************************************************/ /** * This method will work as the class constructor * * @param fileAddress * of the file in the file System * */ public void init(String fileAddress) throws IllegalArgumentException; /** * Gets the attribute value as a String useful for display methods, because * all the values shown will be String * * * @param standardAttributeId * the value as an integer on the EXIF metadata standard * @return * @throws IllegalArgumentException * if the standardAttributeId is invalid for the metadata standard * @throws IllegalStateException * if the method is called without initializing the implementing * class. */ public String getAttributeValue(int standardAttributeId) throws IllegalArgumentException, IllegalStateException; }