40 lines
1.5 KiB
Java
40 lines
1.5 KiB
Java
package org.gcube.application.geoportal.common.rest;
|
|
|
|
import org.bson.Document;
|
|
import org.gcube.application.geoportal.common.model.document.ProfiledDocument;
|
|
import org.gcube.application.geoportal.common.model.rest.Configuration;
|
|
import org.gcube.application.geoportal.common.model.rest.QueryRequest;
|
|
import org.gcube.application.geoportal.common.model.rest.RegisterFileSetRequest;
|
|
import org.gcube.application.geoportal.common.model.rest.StepExecutionRequest;
|
|
|
|
import java.rmi.RemoteException;
|
|
import java.util.Iterator;
|
|
|
|
public interface ProfiledDocumentsI<P extends ProfiledDocument> {
|
|
|
|
// CRUD
|
|
public P createNew(Document toCreate)throws RemoteException;
|
|
public P getById(String id) throws RemoteException;
|
|
public P updateDocument(String id,Document updatedDocument) throws RemoteException;
|
|
public void deleteById(String id) throws RemoteException;
|
|
public void deleteById(String id,Boolean force) throws RemoteException;
|
|
|
|
|
|
|
|
// CONFIG
|
|
public Configuration getConfiguration() throws RemoteException;
|
|
|
|
// QUERY
|
|
public Iterator<P> query (QueryRequest request) throws RemoteException;
|
|
public <C> Iterator<C> queryForClass (QueryRequest request,Class<C> clazz) throws RemoteException;
|
|
public String queryForJSON(QueryRequest request)throws RemoteException;
|
|
|
|
//Execution
|
|
public P performStep(String id, StepExecutionRequest request) throws RemoteException;
|
|
|
|
//FileSets
|
|
public P registerFileSet(String id, RegisterFileSetRequest req) throws RemoteException;
|
|
//FileSets
|
|
public P deleteFileSet(String id, String path, Boolean force) throws RemoteException;
|
|
}
|