file-transformer-base/src/main/java/eu/eudat/file/transformer/interfaces/FileTransformerClient.java

34 lines
1.4 KiB
Java

package eu.eudat.file.transformer.interfaces;
import eu.eudat.file.transformer.models.description.DescriptionFileTransformerModel;
import eu.eudat.file.transformer.models.dmp.DmpFileTransformerModel;
import eu.eudat.file.transformer.models.misc.FileEnvelope;
import javax.management.InvalidApplicationException;
import java.io.IOException;
/**
* The FileTransformerClient interface represents the mechanism of depositing a dmp to any
* repository which mints a persistent digital object identifier (DOI) for each submission,
* which makes the stored dmps easily citeable.
*/
public interface FileTransformerClient {
/**
* Returns a string representing the persistent digital object identifier (DOI) which
* was created.
*
* @param dmp dmp structure which is to be deposited
* @return a string representing the persistent digital object identifier (DOI)
* @throws Exception if an error occurs while trying to deposit the dmp
*/
FileEnvelope exportDmp(DmpFileTransformerModel dmp, String format) throws InvalidApplicationException, IOException;
DmpFileTransformerModel importDmp(FileEnvelope file);
FileEnvelope exportDescription(DescriptionFileTransformerModel descriptionFileTransformerModel, String format) throws InvalidApplicationException, IOException;
DescriptionFileTransformerModel importDescription(FileEnvelope file);
FileTransformerConfiguration getConfiguration();
}