Class RelationTypeDefinitionManagement<T extends EntityTypeDefinitionManagement<TT>,TT 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<ResourceTypeDefinitionManagement,T,org.gcube.informationsystem.types.reference.entities.ResourceType,TT>
org.gcube.informationsystem.resourceregistry.types.relations.RelationTypeDefinitionManagement<T,TT>
Direct Known Subclasses:
ConsistsOfTypeDefinitionManagement, IsRelatedToTypeDefinitionManagement

public abstract class RelationTypeDefinitionManagement<T extends EntityTypeDefinitionManagement<TT>,TT extends org.gcube.informationsystem.types.reference.entities.EntityType> extends RelationElementManagement<ResourceTypeDefinitionManagement,T,org.gcube.informationsystem.types.reference.entities.ResourceType,TT>
Author:
Luca Frosini (ISTI - CNR)
  • Field Details

    • name

      protected String name
  • Constructor Details

    • RelationTypeDefinitionManagement

      public RelationTypeDefinitionManagement(Class<TT> clz)
    • RelationTypeDefinitionManagement

      public RelationTypeDefinitionManagement(TypeEnvironment typeEnvironment, com.orientechnologies.orient.core.db.document.ODatabaseDocument oDatabaseDocument, Class<TT> clz) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
  • Method Details

    • getAffectedInstances

      public Map<UUID,org.gcube.com.fasterxml.jackson.databind.JsonNode> getAffectedInstances()
      Overrides:
      getAffectedInstances in class ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>>
    • getWorkingEnvironment

      protected Environment getWorkingEnvironment() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Specified by:
      getWorkingEnvironment in class ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • setName

      public void setName(String name)
    • getName

      public String getName()
    • reallyCreate

      protected com.orientechnologies.orient.core.record.OEdge reallyCreate() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Overrides:
      reallyCreate in class RelationElementManagement<ResourceTypeDefinitionManagement,T extends EntityTypeDefinitionManagement<TT>,org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • reallyUpdate

      protected com.orientechnologies.orient.core.record.OEdge reallyUpdate() throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Overrides:
      reallyUpdate in class RelationElementManagement<ResourceTypeDefinitionManagement,T extends EntityTypeDefinitionManagement<TT>,org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException
      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
      Overrides:
      reallyDelete in class RelationElementManagement<ResourceTypeDefinitionManagement,T extends EntityTypeDefinitionManagement<TT>,org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.relations.RelationNotFoundException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • getElement

      public com.orientechnologies.orient.core.record.OEdge getElement() throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Overrides:
      getElement in class ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • retrieveElement

      public com.orientechnologies.orient.core.record.OEdge retrieveElement() throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Overrides:
      retrieveElement in class ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • reallyGetAll

      public String reallyGetAll(boolean polymorphic) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Specified by:
      reallyGetAll in class ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • getSpecificNotFoundException

      protected org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException getSpecificNotFoundException(org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException e)
      Specified by:
      getSpecificNotFoundException in class ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>>
    • getSpecificAlreadyPresentException

      protected org.gcube.informationsystem.resourceregistry.api.exceptions.AlreadyPresentException getSpecificAlreadyPresentException(String message)
      Specified by:
      getSpecificAlreadyPresentException in class ElementManagement<com.orientechnologies.orient.core.record.OEdge,org.gcube.informationsystem.types.reference.relations.RelationType<org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>>
    • newSourceEntityManagement

      protected ResourceTypeDefinitionManagement newSourceEntityManagement() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Specified by:
      newSourceEntityManagement in class RelationElementManagement<ResourceTypeDefinitionManagement,T extends EntityTypeDefinitionManagement<TT>,org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • checksourceAndTargetEntityCompliancy

      protected 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
      Specified by:
      checksourceAndTargetEntityCompliancy in class RelationElementManagement<ResourceTypeDefinitionManagement,T extends EntityTypeDefinitionManagement<TT>,org.gcube.informationsystem.types.reference.entities.ResourceType,TT extends org.gcube.informationsystem.types.reference.entities.EntityType>
      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