Class RelationElementManagement<SEM extends EntityElementManagement<? extends org.gcube.informationsystem.base.reference.entities.EntityElement,SET>,TEM extends EntityElementManagement<? extends org.gcube.informationsystem.base.reference.entities.EntityElement,TET>,SET extends org.gcube.informationsystem.types.reference.entities.EntityType,TET extends org.gcube.informationsystem.types.reference.entities.EntityType>
java.lang.Object
org.gcube.informationsystem.resourceregistry.base.ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<SET,TET>>
org.gcube.informationsystem.resourceregistry.base.relations.RelationElementManagement<SEM,TEM,SET,TET>
- Direct Known Subclasses:
IsParentOfManagement,RelationManagement,RelationTypeDefinitionManagement
public abstract class RelationElementManagement<SEM extends EntityElementManagement<? extends org.gcube.informationsystem.base.reference.entities.EntityElement,SET>,TEM extends EntityElementManagement<? extends org.gcube.informationsystem.base.reference.entities.EntityElement,TET>,SET extends org.gcube.informationsystem.types.reference.entities.EntityType,TET extends org.gcube.informationsystem.types.reference.entities.EntityType>
extends ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<SET,TET>>
- Author:
- Luca Frosini (ISTI - CNR)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected booleanprotected booleanstatic final Stringprotected final Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement>protected SEMprotected final Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement>protected TEMFields inherited from class org.gcube.informationsystem.resourceregistry.base.ElementManagement
accessType, affectedInstances, AT, cachedType, complete, DELETED, DOLLAR, dryRun, element, elementClass, entryPoint, forceIncludeAllMeta, forceIncludeMeta, ignoreKeys, ignoreStartWithKeys, jsonNode, logger, oClass, oDatabaseDocument, operation, reload, self, typeName, UNDERSCORE, uuid, workingEnvironment -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRelationElementManagement(org.gcube.informationsystem.base.reference.AccessType accessType, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> sourceEntityClass, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> targetEntityClass) protectedRelationElementManagement(org.gcube.informationsystem.base.reference.AccessType accessType, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> sourceEntityClass, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> targetEntityClass, Environment workingContext, com.orientechnologies.orient.core.db.document.ODatabaseDocument orientGraph) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidprotected org.gcube.com.fasterxml.jackson.databind.JsonNodevoidincludeSource(boolean includeSource) voidincludeTarget(boolean includeTarget) protected abstract SEMprotected abstract TEMprotected com.orientechnologies.orient.core.record.OEdgeprotected voidprotected com.orientechnologies.orient.core.record.OEdgevoidsetSourceEntityManagement(SEM sourceEntityManagement) voidsetTargetEntityManagement(TEM targetEntityManagement) Methods inherited from class org.gcube.informationsystem.resourceregistry.base.ElementManagement
all, checkERMatch, checkJsonNode, checkUUIDMatch, cleanCachedSerialization, create, createOrUpdate, delete, exists, getAccessType, getAffectedInstances, getAllProperties, getCachedType, getContexts, getContextsAsObjectNode, getContextsSet, getElement, getMandatoryErrorMessage, getNotNullErrorMessage, getOClass, getPropertyForJson, getPropertyMap, getSpecificAlreadyPresentException, getSpecificNotFoundException, getTypeName, getUUID, getWorkingEnvironment, internalCreate, internalCreateOrUdate, internalDelete, internalUpdate, isDryRun, isForceIncludeAllMeta, isForceIncludeMeta, isReload, isUserAllowedToGetPrivacyMeta, read, reallyGetAll, retrieveElement, retrieveElementFromAnyContext, sanityCheck, serializeAsAffectedInstance, serializeAsJsonNode, serializeSelfAsJsonNode, setAsEntryPoint, setDryRun, setElement, setElementType, setForceIncludeAllMeta, setForceIncludeMeta, setJson, setJsonNode, setOClass, setODatabaseDocument, setOperation, setProperty, setReload, setUUID, setWorkingEnvironment, typeSatified, update, updateProperties
-
Field Details
-
IN
- See Also:
-
OUT
- See Also:
-
sourceEntityClass
protected final Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> sourceEntityClass -
targetEntityClass
protected final Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> targetEntityClass -
sourceEntityManagement
protected SEM extends EntityElementManagement<? extends org.gcube.informationsystem.base.reference.entities.EntityElement,SET> sourceEntityManagement -
targetEntityManagement
protected TEM extends EntityElementManagement<? extends org.gcube.informationsystem.base.reference.entities.EntityElement,TET> targetEntityManagement -
includeSource
protected boolean includeSource -
includeTarget
protected boolean includeTarget
-
-
Constructor Details
-
RelationElementManagement
protected RelationElementManagement(org.gcube.informationsystem.base.reference.AccessType accessType, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> sourceEntityClass, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> targetEntityClass) -
RelationElementManagement
protected RelationElementManagement(org.gcube.informationsystem.base.reference.AccessType accessType, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> sourceEntityClass, Class<? extends org.gcube.informationsystem.base.reference.entities.EntityElement> targetEntityClass, Environment workingContext, com.orientechnologies.orient.core.db.document.ODatabaseDocument orientGraph)
-
-
Method Details
-
includeSource
public void includeSource(boolean includeSource) -
includeTarget
public void includeTarget(boolean includeTarget) -
getSourceEntityManagement
public SEM getSourceEntityManagement() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
getTargetEntityManagement
public TEM getTargetEntityManagement() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
setSourceEntityManagement
-
setTargetEntityManagement
-
createCompleteJsonNode
protected org.gcube.com.fasterxml.jackson.databind.JsonNode createCompleteJsonNode() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Specified by:
createCompleteJsonNodein classElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<SET extends org.gcube.informationsystem.types.reference.entities.EntityType, TET extends org.gcube.informationsystem.types.reference.entities.EntityType>> - Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
checksourceAndTargetEntityCompliancy
protected abstract void checksourceAndTargetEntityCompliancy() throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException, org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException, org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaViolationException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundExceptionorg.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextExceptionorg.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaViolationExceptionorg.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
reallyCreate
protected com.orientechnologies.orient.core.record.OEdge reallyCreate() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Specified by:
reallyCreatein classElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<SET extends org.gcube.informationsystem.types.reference.entities.EntityType, TET extends org.gcube.informationsystem.types.reference.entities.EntityType>> - Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
newSourceEntityManagement
protected abstract SEM newSourceEntityManagement() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
newTargetEntityManagement
protected abstract TEM newTargetEntityManagement() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
reallyUpdate
protected com.orientechnologies.orient.core.record.OEdge reallyUpdate() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Specified by:
reallyUpdatein classElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<SET extends org.gcube.informationsystem.types.reference.entities.EntityType, TET extends org.gcube.informationsystem.types.reference.entities.EntityType>> - Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
reallyDelete
protected void reallyDelete() throws org.gcube.informationsystem.resourceregistry.api.exceptions.relations.RelationNotFoundException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException- Specified by:
reallyDeletein classElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<SET extends org.gcube.informationsystem.types.reference.entities.EntityType, TET extends org.gcube.informationsystem.types.reference.entities.EntityType>> - Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.relations.RelationNotFoundExceptionorg.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-