Class SimpleMDGraph<N,​E>

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(N node)
      Добавляет вершину к графу
      protected void add​(Edge<N,​E> es)
      Добавление ребра
      void clearAll()
      Удалес все ребра и вершины
      void clearEdges()
      Удаляет все ребра
      boolean contains​(N node)
      Проверяет наличае вершины
      Collection<Edge<N,​E>> edgesOf​(N node)
      Возвращает ребра указанной вершины
      Collection<Edge<N,​E>> edgesOfNodeA​(N node)
      Возвращает ребра из вершины А
      Collection<Edge<N,​E>> edgesOfNodeB​(N node)
      Возвращает ребра из вершины Б
      Collection<E> get​(N a, N b)
      Возвращает ребра между вершинами
      E getEdge​(N a, N b)
      Возвращает ребро между вершинами
      Iterable<Edge<N,​E>> getEdges()
      Возвращает Ребра и вершины графа
      Iterable<E> getEdges​(N a, N b)
      Возвращает ребра между вершинами
      Iterable<N> getNodes()
      Возвращает вершины графа
      boolean hasEdge​(N a, N b)
      Проверка наличия ребра между вершинами
      protected int indexOf​(N node)
      Возвращает индекс вершины в списке вершин
      protected void onEdgeAdded​(Edge<N,​E> es)
      Срабатывает при добавлении ребра в граф
      protected void onEdgeRemoved​(Edge<N,​E> es)
      Срабатывает при удалении ребра из графа
      protected void onNodeAdded​(N node)
      Срабатывает при добавлении вершины в граф
      protected void onNodeRemoved​(N node)
      Срабатывает при удалении вершины из графа
      void remove​(N node)
      Удаляет вершину из графа
      protected void remove​(Edge<N,​E> es)
      Удаление ребра
      void removeEdge​(N a, N b)
      Удаление ребра
      void set​(N a, N b, Iterable<E> e)
      Устанавливает/Сбрасывает ребра между вершинами
      void setEdge​(N a, N b, E edge)
      Установка ребра между вершинами
      void setEdges​(N a, N b, Iterable<E> edges)
      Установка ребр между вершинами
    • Field Detail

      • factory

        protected GraphFactory<N,​E> factory
        Фабрика графа
      • sync

        protected final Object sync
        Объект для синхронизации
    • Constructor Detail

      • SimpleMDGraph

        public SimpleMDGraph()
        Конструктор
      • SimpleMDGraph

        public SimpleMDGraph​(GraphFactory<N,​E> factory)
        Конструктор
        Parameters:
        factory - Фабрика графа
    • Method Detail

      • getNodes

        public Iterable<N> getNodes()
        Description copied from interface: Graph
        Возвращает вершины графа
        Specified by:
        getNodes in interface Graph<N,​E>
        Returns:
        вершины
      • getEdges

        public Iterable<Edge<N,​E>> getEdges()
        Description copied from interface: Graph
        Возвращает Ребра и вершины графа
        Specified by:
        getEdges in interface Graph<N,​E>
        Returns:
        Ребра и вершины
      • contains

        public boolean contains​(N node)
        Description copied from interface: Graph
        Проверяет наличае вершины
        Specified by:
        contains in interface Graph<N,​E>
        Parameters:
        node - Вершина
        Returns:
        true -вершина содержиться в графе
      • indexOf

        protected int indexOf​(N node)
        Возвращает индекс вершины в списке вершин
        Parameters:
        node - Вершина
        Returns:
        индекс или -1 если таковой нет в списке
      • getEdge

        public E getEdge​(N a,
                         N b)
        Description copied from interface: Graph
        Возвращает ребро между вершинами
        Specified by:
        getEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Ребро
      • getEdges

        public Iterable<E> getEdges​(N a,
                                    N b)
        Description copied from interface: Graph
        Возвращает ребра между вершинами
        Specified by:
        getEdges in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Ребра
      • hasEdge

        public boolean hasEdge​(N a,
                               N b)
        Description copied from interface: Graph
        Проверка наличия ребра между вершинами
        Specified by:
        hasEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        Флаг наличия ребра
      • edgesOf

        public Collection<Edge<N,​E>> edgesOf​(N node)
        Description copied from interface: Graph
        Возвращает ребра указанной вершины
        Specified by:
        edgesOf in interface Graph<N,​E>
        Parameters:
        node - Вершина
        Returns:
        ребра
      • edgesOfNodeA

        public Collection<Edge<N,​E>> edgesOfNodeA​(N node)
        Description copied from interface: Graph
        Возвращает ребра из вершины А
        Specified by:
        edgesOfNodeA in interface Graph<N,​E>
        Parameters:
        node - Вершина А
        Returns:
        Ребра
      • edgesOfNodeB

        public Collection<Edge<N,​E>> edgesOfNodeB​(N node)
        Description copied from interface: Graph
        Возвращает ребра из вершины Б
        Specified by:
        edgesOfNodeB in interface Graph<N,​E>
        Parameters:
        node - Вершина Б
        Returns:
        Ребра
      • onEdgeRemoved

        protected void onEdgeRemoved​(Edge<N,​E> es)
        Срабатывает при удалении ребра из графа
        Parameters:
        es - Ребро
      • onEdgeAdded

        protected void onEdgeAdded​(Edge<N,​E> es)
        Срабатывает при добавлении ребра в граф
        Parameters:
        es - Ребро
      • onNodeAdded

        protected void onNodeAdded​(N node)
        Срабатывает при добавлении вершины в граф
        Parameters:
        node - Вершина
      • onNodeRemoved

        protected void onNodeRemoved​(N node)
        Срабатывает при удалении вершины из графа
        Parameters:
        node - Вершина
      • get

        public Collection<E> get​(N a,
                                 N b)
        Description copied from interface: MultiGraph
        Возвращает ребра между вершинами
        Specified by:
        get in interface MultiGraph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        Returns:
        ребра
      • set

        public void set​(N a,
                        N b,
                        Iterable<E> e)
        Description copied from interface: MultiGraph
        Устанавливает/Сбрасывает ребра между вершинами
        Specified by:
        set in interface MultiGraph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        e - Ребра
      • remove

        protected void remove​(Edge<N,​E> es)
        Удаление ребра
        Parameters:
        es - Ребро
      • add

        protected void add​(Edge<N,​E> es)
        Добавление ребра
        Parameters:
        es - Ребро
      • add

        public void add​(N node)
        Description copied from interface: Graph
        Добавляет вершину к графу
        Specified by:
        add in interface Graph<N,​E>
        Parameters:
        node - Вершина
      • remove

        public void remove​(N node)
        Description copied from interface: Graph
        Удаляет вершину из графа
        Specified by:
        remove in interface Graph<N,​E>
        Parameters:
        node - Вершина
      • clearEdges

        public void clearEdges()
        Description copied from interface: Graph
        Удаляет все ребра
        Specified by:
        clearEdges in interface Graph<N,​E>
      • clearAll

        public void clearAll()
        Description copied from interface: Graph
        Удалес все ребра и вершины
        Specified by:
        clearAll in interface Graph<N,​E>
      • setEdge

        public void setEdge​(N a,
                            N b,
                            E edge)
        Description copied from interface: Graph
        Установка ребра между вершинами
        Specified by:
        setEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        edge - Ребро
      • setEdges

        public void setEdges​(N a,
                             N b,
                             Iterable<E> edges)
        Description copied from interface: Graph
        Установка ребр между вершинами
        Specified by:
        setEdges in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б
        edges - Ребра
      • removeEdge

        public void removeEdge​(N a,
                               N b)
        Description copied from interface: Graph
        Удаление ребра
        Specified by:
        removeEdge in interface Graph<N,​E>
        Parameters:
        a - Вершина А
        b - Вершина Б