resource-registry-publisher/src/main/java/org/gcube/informationsystem/resourceregistry/publisher/proxy/ResourceRegistryPublisher.java

45 lines
1.4 KiB
Java

package org.gcube.informationsystem.resourceregistry.publisher.proxy;
import org.gcube.informationsystem.model.embedded.Embedded;
import org.gcube.informationsystem.model.entity.Facet;
import org.gcube.informationsystem.model.entity.Resource;
import org.gcube.informationsystem.model.relation.ConsistsOf;
import org.gcube.informationsystem.model.relation.IsRelatedTo;
public interface ResourceRegistryPublisher {
public <E extends Embedded> E createEmbedded(E embedded);
public <E extends Embedded> E updateEmbedded(E embedded);
public <E extends Embedded> E deleteEmbedded(E embedded);
public <F extends Facet> F createFacet(Class<F> facetClass, F facet);
public <F extends Facet> F updateFacet(F facet);
public <F extends Facet> F deleteFacet(F facet);
public <R extends Resource> R createResource(R resource);
public <R extends Resource> R deleteResource(R resource);
public <C extends ConsistsOf<Resource, Facet>> C createConsistsOf(C consistsOf);
public <C extends ConsistsOf<Resource, Facet>> C updateConsistsOf(C consistsOf);
public <C extends ConsistsOf<Resource, Facet>> C deleteConsistsOf(C consistsOf);
public <I extends IsRelatedTo<Resource, Resource>> I create(I isRelatedTo);
public <I extends IsRelatedTo<Resource, Resource>> I update(I isRelatedTo);
public <I extends IsRelatedTo<Resource, Resource>> I delete(I isRelatedTo);
}