X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.fileimport%2Fsrc%2Forg%2Fsimantics%2Ffileimport%2FIGenericFileImport.java;h=a8bb132c98f8245013d250d5fd2f8c3f44e6e113;hp=2de1cc7427dd5f03367b9ea310731011a7e701a8;hb=0d82e7808541ed486f6027a28038d44d2d93711a;hpb=8ada31c956ee02aef38627ba4deaaae3eecb623a diff --git a/bundles/org.simantics.fileimport/src/org/simantics/fileimport/IGenericFileImport.java b/bundles/org.simantics.fileimport/src/org/simantics/fileimport/IGenericFileImport.java index 2de1cc742..a8bb132c9 100644 --- a/bundles/org.simantics.fileimport/src/org/simantics/fileimport/IGenericFileImport.java +++ b/bundles/org.simantics.fileimport/src/org/simantics/fileimport/IGenericFileImport.java @@ -1,33 +1,45 @@ -package org.simantics.fileimport; - -import java.nio.file.Path; -import java.util.Map; -import java.util.Optional; - -/** - * @author Jani Simomaa - * - */ -public interface IGenericFileImport { - - /** - * Performs the import procedure for the given file - * - * @param file - * file to import - */ - Optional perform(Path file) throws Exception; - - /** - * @param resource - */ - void remove(String resource) throws Exception; - - /** - * Returns a key-value map for file extensions this importer can handle - * - * @return - */ - Map allowedExtensionsWithFilters(); - -} +package org.simantics.fileimport; + +import java.nio.file.Path; +import java.util.Map; +import java.util.Optional; + +import org.simantics.db.Resource; + +/** + * Base interface for performing file imports. + * + * Usually with Simantics products every file that will be imported will become + * a resource in the Simantics database. For these cases see {@link SimanticsResourceFileImport} + * + * @author Jani Simomaa + * + */ +public interface IGenericFileImport { + + /** + * Performs the import for the given file + * + * @param file Path to file to import + * @return Optional string which will be the identifier of the imported file which can later be used for removing the imported entity + * @throws Exception + */ + Optional perform(Path file) throws Exception; + + Optional perform(Resource parent, Path file) throws Exception; + + /** + * Remove the entity + * + * @param identifier String identifier which can be used to remove the imported entity + */ + void remove(String identifier) throws Exception; + + /** + * Returns a key-value map for file extensions this importer can handle + * + * @return Map allowed extensions this service can handle. Key is the extension e.g. .sharedLibrary and the value is the description of the extension + */ + Map allowedExtensionsWithFilters(); + +}