resource-registry/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/ERManagement.java

54 lines
2.1 KiB
Java

package org.gcube.informationsystem.resourceregistry.instances.model;
import java.util.Map;
import java.util.UUID;
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
import org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.context.ContextException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaViolationException;
import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext;
public interface ERManagement {
public boolean isHonourPropagationConstraintsInContextSharing();
public void setHonourPropagationConstraintsInContextSharing(boolean honourPropagationConstraintsInContextSharing);
public Map<UUID,JsonNode> getAffectedInstances();
/**
* Set source security context to evaluate addToContext
* @param sourceSecurityContext the source security context
*/
public void setSourceSecurityContext(SecurityContext sourceSecurityContext);
public SecurityContext getSourceSecurityContext();
public void internalAddToContext()
throws ContextException, ResourceRegistryException;
public void addToContext(UUID contextUUID)
throws SchemaViolationException, NotFoundException, ContextException, ResourceRegistryException;
/**
* Set target security context of addToContext/removeFromContext
* @param targetSecurityContext
*/
public void setTargetSecurityContext(SecurityContext targetSecurityContext);
public SecurityContext getTargetSecurityContext();
public void internalRemoveFromContext()
throws ContextException, ResourceRegistryException;
public void removeFromContext(UUID contextUUID)
throws SchemaViolationException, NotFoundException, ContextException, ResourceRegistryException;
// public void sanityCheck() throws SchemaViolationException, ResourceRegistryException;
public AvailableInAnotherContextException getSpecificAvailableInAnotherContextException(String message);
}