35 lines
1.4 KiB
Java
35 lines
1.4 KiB
Java
package org.opencdmp.filetransformerbase.interfaces;
|
|
|
|
import com.sun.jdi.InvalidTypeException;
|
|
import org.opencdmp.commonmodels.models.dmp.DmpModel;
|
|
import org.opencdmp.commonmodels.models.FileEnvelopeModel;
|
|
import org.opencdmp.commonmodels.models.description.DescriptionModel;
|
|
|
|
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
|
|
*/
|
|
FileEnvelopeModel exportDmp(DmpModel dmp, String variant) throws InvalidApplicationException, IOException, InvalidTypeException;
|
|
DmpModel importDmp(FileEnvelopeModel file);
|
|
|
|
FileEnvelopeModel exportDescription(DescriptionModel descriptionFileTransformerModel, String format) throws InvalidApplicationException, IOException;
|
|
DescriptionModel importDescription(FileEnvelopeModel file);
|
|
|
|
FileTransformerConfiguration getConfiguration();
|
|
|
|
}
|