34 lines
1.4 KiB
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();
|
|
|
|
}
|