file-transformer-base/src/main/java/org/opencdmp/filetransformerbase/interfaces/FileTransformerClient.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();
}