package org.gcube.data.access.storagehub.scripting; import java.util.Collection; import java.util.List; import java.util.function.Predicate; import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; import org.gcube.common.storagehub.model.exceptions.BackendGenericError; import org.gcube.common.storagehub.model.exceptions.StorageHubException; import org.gcube.common.storagehub.model.items.Item; import org.gcube.common.storagehub.model.items.nodes.Content; import org.gcube.common.storagehub.model.storages.StorageBackendFactory; public interface ScriptUtil { Item getItem(Node node, List excludes) throws RepositoryException, BackendGenericError ; List getChildren(Predicate checker, Node parent, List excludes, boolean showHidden, Class nodeTypeToInclude) throws RepositoryException, BackendGenericError; void removeNodes(Session ses, List itemsToDelete) throws RepositoryException, StorageHubException; Collection getStorageBackendHandler(); public void updateContentNode(Content content, Node node) throws Exception; Node createInternalFolder(Session ses, String name, String description, String userOwner, String parentNodeIdentifier) throws StorageHubException; }