Class DAG

    • Constructor Detail

      • DAG

        public DAG()
    • Method Detail

      • getVertices

        public List<Vertex> getVertices()
        Returns:
        the vertices
      • addVertex

        public Vertex addVertex​(String label)
        Adds vertex to DAG. If vertex of given label already exist in DAG no vertex is added
        Parameters:
        label - The label of the Vertex
        Returns:
        New vertex if vertex of given label was not present in the DAG or existing vertex if vertex of given label was already added to DAG
      • removeEdge

        public void removeEdge​(String from,
                               String to)
      • removeEdge

        public void removeEdge​(Vertex from,
                               Vertex to)
      • hasEdge

        public boolean hasEdge​(String label1,
                               String label2)
      • getChildLabels

        public List<String> getChildLabels​(String label)
        Parameters:
        label - see name
        Returns:
        the childs
      • getParentLabels

        public List<String> getParentLabels​(String label)
        Parameters:
        label - see name
        Returns:
        the parents
      • isConnected

        public boolean isConnected​(String label)
        Indicates if there is at least one edge leading to or from vertex of given label
        Parameters:
        label - the label
        Returns:
        true if this vertex is connected with other vertex,false otherwise
      • getSuccessorLabels

        public List<String> getSuccessorLabels​(String label)
        Return the list of labels of successor in order decided by topological sort
        Parameters:
        label - The label of the vertex whose predecessors are searched
        Returns:
        The list of labels. Returned list contains also the label passed as parameter to this method. This label should always be the last item in the list.