Interface HierarchyService

  • All Superinterfaces:
    Queryable<Hierarchy,​cern.nxcals.api.extraction.metadata.queries.Hierarchies>

    public interface HierarchyService
    extends Queryable<Hierarchy,​cern.nxcals.api.extraction.metadata.queries.Hierarchies>
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void addEntities​(long hierarchyId, java.util.Set<java.lang.Long> entityIds)
      Attaches the given Set of entities to the given hierarchy id.
      void addVariables​(long hierarchyId, java.util.Set<java.lang.Long> variableIds)
      Attaches the given Set of variables to the given hierarchy id.
      Hierarchy create​(Hierarchy hierarchy)
      Creates hierarchy as in the parameter NOTE: this is a mutative method.
      java.util.Set<Hierarchy> createAll​(java.util.Set<Hierarchy> hierarchies)
      Creates hierarchies as in the parameter NOTE: this is a mutative method.
      void deleteAllLeaves​(java.util.Set<Hierarchy> hierarchies)
      Deletes leaf hierarchies NOTE: this is a mutative method.
      void deleteLeaf​(Hierarchy hierarchy)
      Deletes a leaf hierarchy NOTE: this is a mutative method.
      java.util.List<Hierarchy> getChainTo​(Hierarchy hierarchy)
      Returns a full chain of hierarchies from the given parameter to the root
      java.util.Set<Entity> getEntities​(long hierarchyId)
      Returns the Set of entities attached to a given hierarchy node
      java.util.Set<Hierarchy> getHierarchiesForVariable​(long variableId)
      Returns a Set of hierarchies where the given variable, as referenced by the provided id.
      java.util.Set<VariableHierarchies> getHierarchiesForVariables​(java.util.Set<java.lang.Long> variableIds)
      Returns a Set of hierarchies grouped by the given variables as referenced by their ids.
      java.util.Set<VariableHierarchyIds> getHierarchyIdsForVariables​(java.util.Set<java.lang.Long> variableIds)
      Returns a Set of hierarchy ids grouped by the given variables ids.
      java.util.Set<Hierarchy> getTopLevel​(SystemSpec system)
      Returns all the top level hierarchies in a given system
      java.util.Set<Variable> getVariables​(long hierarchyId)
      Returns the Set of variables attached to a given hierarchy node
      void removeEntities​(long hierarchyId, java.util.Set<java.lang.Long> entityIds)
      Detaches the given Set of entities to the given hierarchy id.
      void removeVariables​(long hierarchyId, java.util.Set<java.lang.Long> variableIds)
      Detaches the given Set of variables to the given hierarchy id.
      void setEntities​(long hierarchyId, java.util.Collection<Entity> entities)
      Deprecated.
      this method will be removed in a future release.
      void setEntities​(long hierarchyId, java.util.Set<java.lang.Long> entityIds)
      Attaches the given Set of entities to the given hierarchy id.
      void setVariables​(long hierarchyId, java.util.Collection<Variable> variables)
      Deprecated.
      this method will be removed in a future release.
      void setVariables​(long hierarchyId, java.util.Set<java.lang.Long> variableIds)
      Attaches the given Set of variables to the given hierarchy id.
      Hierarchy update​(Hierarchy hierarchy)
      Updates an existing hierarchy to the new values as in the parameter NOTE: this is a mutative method.
      java.util.Set<Hierarchy> updateAll​(java.util.Set<Hierarchy> hierarchies)
      Updates existing hierarchies to the new values as in the provided Set of parameters NOTE: this is a mutative method.
    • Method Detail

      • create

        Hierarchy create​(Hierarchy hierarchy)
        Creates hierarchy as in the parameter NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchy - to be created
        Returns:
        Created hierarchy
      • update

        Hierarchy update​(Hierarchy hierarchy)
        Updates an existing hierarchy to the new values as in the parameter NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchy - to be updated
        Returns:
        Updated hierarchy or null if the hierarchy does not exist
      • deleteLeaf

        void deleteLeaf​(Hierarchy hierarchy)
        Deletes a leaf hierarchy NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchy - to be deleted
      • createAll

        java.util.Set<Hierarchy> createAll​(java.util.Set<Hierarchy> hierarchies)
        Creates hierarchies as in the parameter NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchies - to be created
        Returns:
        Created hierarchies
      • updateAll

        java.util.Set<Hierarchy> updateAll​(java.util.Set<Hierarchy> hierarchies)
        Updates existing hierarchies to the new values as in the provided Set of parameters NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchies - to be updated
        Returns:
        Updated hierarchies
      • deleteAllLeaves

        void deleteAllLeaves​(java.util.Set<Hierarchy> hierarchies)
        Deletes leaf hierarchies NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchies - to be deleted
      • getTopLevel

        java.util.Set<Hierarchy> getTopLevel​(SystemSpec system)
        Returns all the top level hierarchies in a given system
        Parameters:
        system - to find top level
        Returns:
        set of top level hierarchies
      • getChainTo

        java.util.List<Hierarchy> getChainTo​(Hierarchy hierarchy)
        Returns a full chain of hierarchies from the given parameter to the root
        Parameters:
        hierarchy - end-of-chain hierarchy
        Returns:
        Optional with value or empty.
      • setVariables

        @Deprecated
        void setVariables​(long hierarchyId,
                          java.util.Collection<Variable> variables)
        Deprecated.
        this method will be removed in a future release. Please use setVariables(long hierarchyId, Set variableIds);
        Attaches the given Collection of variables to the given hierarchy id. The hierarchy id and the variables must exist. NOTE: it replaces any existing attached Set. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        variables - Collection of variables to attach
      • setVariables

        void setVariables​(long hierarchyId,
                          java.util.Set<java.lang.Long> variableIds)
        Attaches the given Set of variables to the given hierarchy id. The hierarchy id and the variables must exist. NOTE: it replaces any existing attached Set. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        variableIds - Set of variable ids to attach
      • addVariables

        void addVariables​(long hierarchyId,
                          java.util.Set<java.lang.Long> variableIds)
        Attaches the given Set of variables to the given hierarchy id. The hierarchy id and the variables must exist. NOTE: it adds to any existing attached Set. Does not fail if variable already present. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        variableIds - Set of variable ids to attach
      • removeVariables

        void removeVariables​(long hierarchyId,
                             java.util.Set<java.lang.Long> variableIds)
        Detaches the given Set of variables to the given hierarchy id. The hierarchy id and the variables must exist. NOTE: it removes from any existing attached Set. Does not fail if variable already absent. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        variableIds - Set of variable ids to detach
      • getVariables

        java.util.Set<Variable> getVariables​(long hierarchyId)
        Returns the Set of variables attached to a given hierarchy node
        Parameters:
        hierarchyId - of the hierarchy to query
        Returns:
        Set of variables attached
      • setEntities

        @Deprecated
        void setEntities​(long hierarchyId,
                         java.util.Collection<Entity> entities)
        Deprecated.
        this method will be removed in a future release. Please use setEntities(long hierarchyId, Set entityIds);
        Attaches the given Collection of entities to the given hierarchy id. The hierarchy id and the entities must exist. NOTE: it replaces any existing attached Set. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        entities - Collection of entities to attach
      • setEntities

        void setEntities​(long hierarchyId,
                         java.util.Set<java.lang.Long> entityIds)
        Attaches the given Set of entities to the given hierarchy id. The hierarchy id and the entities must exist. NOTE: it replaces any existing attached Set. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        entityIds - Set of entity ids to attach
      • removeEntities

        void removeEntities​(long hierarchyId,
                            java.util.Set<java.lang.Long> entityIds)
        Detaches the given Set of entities to the given hierarchy id. The hierarchy id and the entities must exist. NOTE: it removes from any existing attached Set. Does not fail if entities already absent. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        entityIds - Set of entity ids to detach
      • addEntities

        void addEntities​(long hierarchyId,
                         java.util.Set<java.lang.Long> entityIds)
        Attaches the given Set of entities to the given hierarchy id. The hierarchy id and the entities must exist. NOTE: it adds any existing attached Set. Does not fail if entity already present. NOTE: this is a mutative method. It is not thread-safe or meant to be used in parallel
        Parameters:
        hierarchyId - hierarchy to attach variables to
        entityIds - Set of entity ids to attach
      • getEntities

        java.util.Set<Entity> getEntities​(long hierarchyId)
        Returns the Set of entities attached to a given hierarchy node
        Parameters:
        hierarchyId - of the hierarchy to query
        Returns:
        Set of entities attached
      • getHierarchiesForVariable

        java.util.Set<Hierarchy> getHierarchiesForVariable​(long variableId)
        Returns a Set of hierarchies where the given variable, as referenced by the provided id.
        Parameters:
        variableId - the identification number of the target Variable
        Returns:
        Set of associated hierarchies
      • getHierarchiesForVariables

        java.util.Set<VariableHierarchies> getHierarchiesForVariables​(java.util.Set<java.lang.Long> variableIds)
        Returns a Set of hierarchies grouped by the given variables as referenced by their ids.
        Parameters:
        variableIds - a Set of Variable ids that are attached to hierarchies
        Returns:
        Set of VariableHierarchies representing associated hierarchies grouped by variable id
      • getHierarchyIdsForVariables

        java.util.Set<VariableHierarchyIds> getHierarchyIdsForVariables​(java.util.Set<java.lang.Long> variableIds)
        Returns a Set of hierarchy ids grouped by the given variables ids.
        Parameters:
        variableIds - a Set of Variable ids that are attached to hierarchies
        Returns:
        Set of VariableHierarchyIds representing associated Hierarchy ids grouped by variable id