java.lang.Object
xyz.cofe.collection.graph.SimpleSDGraph<N,E>
- Type Parameters:
N- Тип вершиныE- Тип ребра
- All Implemented Interfaces:
DirectedGraph,Graph<N,E>,SingleDirectedGraph<N,E>,SingleGraph<N,E>,GetReadLock,GetWriteLock,ReadWriteLockSupport,LongScn<SimpleSDGraph<N,E>,java.lang.Void>,Scn<SimpleSDGraph<N,E>,java.lang.Long,java.lang.Void>
- Direct Known Subclasses:
SimpleSDGraphSender
public class SimpleSDGraph<N,E> extends java.lang.Object implements SingleDirectedGraph<N,E>, ReadWriteLockSupport, LongScn<SimpleSDGraph<N,E>,java.lang.Void>
Однонаправленный граф. Примитивная реализация с переборными алгоритмами.
- Author:
- GoCha
-
Field Summary
-
Constructor Summary
Constructors Constructor Description SimpleSDGraph()КонструкторSimpleSDGraph(GraphFactory<N,E> factory)Конструктор -
Method Summary
Modifier and Type Method Description voidadd(N node)Добавляет вершину к графуprotected voidadd(Edge<N,E> es)Добавление ребраvoidclearAll()Удалес все ребра и вершиныvoidclearEdges()Удаляет все ребраbooleancontains(N node)Проверяет наличае вершиныjava.util.Collection<Edge<N,E>>edgesOf(N node)Возвращает ребра указанной вершиныjava.util.Collection<Edge<N,E>>edgesOfNodeA(N node)Возвращает ребра из вершины Аjava.util.Collection<Edge<N,E>>edgesOfNodeB(N node)Возвращает ребра из вершины БEget(N a, N b)Возвращает ребро между вершинамиEgetEdge(N a, N b)Возвращает ребро между вершинамиEterable<Edge<N,E>>getEdges()Возвращает Ребра и вершины графаjava.util.List<E>getEdges(N a, N b)Возвращает ребра между вершинамиEterable<N>getNodes()Возвращает вершины графаbooleanhasEdge(N a, N b)Проверка наличия ребра между вершинамиprotected intindexOf(N node)Возвращает индекс вершины в списке вершинprotected voidonEdgeAdded(Edge<N,E> es)Срабатывает при добавлении ребра в графprotected voidonEdgeRemoved(Edge<N,E> es)Срабатывает при удалении ребра из графаprotected voidonNodeAdded(N node)Срабатывает при добавлении вершины в графprotected voidonNodeRemoved(N node)Срабатывает при удалении вершины из графаvoidremove(N node)Удаляет вершину из графаprotected voidremove(Edge<N,E> es)Удаление ребраvoidremoveEdge(N a, N b)Удаление ребраvoidset(N a, N b, E e)Устанавливает/Сбрасывает ребро между вершинамиvoidsetEdge(N a, N b, E edge)Установка ребра между вершинамиvoidsetEdges(N a, N b, java.lang.Iterable<E> edges)Установка ребр между вершинамиMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface xyz.cofe.ecolls.ReadWriteLockSupport
getReadLock, getWriteLock, readLock, readLock, writeLock, writeLockMethods inherited from interface xyz.cofe.scn.Scn
addScnChangedListener, addScnChangedListener, fireScnChanged, fireScnChanged, getScnChangedListeners, hasScnChangedListener, onScn, removeAllScnChangedListeners, removeScnChangedListener, scn, scn
-
Field Details
-
Constructor Details
-
SimpleSDGraph
public SimpleSDGraph()Конструктор -
SimpleSDGraph
Конструктор- Parameters:
factory- Фабрика графа
-
-
Method Details
-
getNodes
Description copied from interface:GraphВозвращает вершины графа -
getEdges
Description copied from interface:GraphВозвращает Ребра и вершины графа -
getEdges
Description copied from interface:GraphВозвращает ребра между вершинами -
edgesOf
Description copied from interface:GraphВозвращает ребра указанной вершины -
edgesOfNodeA
Description copied from interface:GraphВозвращает ребра из вершины А- Specified by:
edgesOfNodeAin interfaceGraph<N,E>- Parameters:
node- Вершина А- Returns:
- Ребра
-
edgesOfNodeB
Description copied from interface:GraphВозвращает ребра из вершины Б- Specified by:
edgesOfNodeBin interfaceGraph<N,E>- Parameters:
node- Вершина Б- Returns:
- Ребра
-
hasEdge
Description copied from interface:GraphПроверка наличия ребра между вершинами -
getEdge
Description copied from interface:GraphВозвращает ребро между вершинами -
contains
Description copied from interface:GraphПроверяет наличае вершины -
indexOf
Возвращает индекс вершины в списке вершин- Parameters:
node- Вершина- Returns:
- индекс или -1 если таковой нет в списке
-
onNodeRemoved
Срабатывает при удалении вершины из графа- Parameters:
node- Вершина
-
onEdgeRemoved
Срабатывает при удалении ребра из графа- Parameters:
es- Ребро
-
onNodeAdded
Срабатывает при добавлении вершины в граф- Parameters:
node- Вершина
-
onEdgeAdded
Срабатывает при добавлении ребра в граф- Parameters:
es- Ребро
-
remove
Удаление ребра- Parameters:
es- Ребро
-
add
Добавление ребра- Parameters:
es- Ребро
-
add
Description copied from interface:GraphДобавляет вершину к графу -
remove
Description copied from interface:GraphУдаляет вершину из графа -
clearEdges
public void clearEdges()Description copied from interface:GraphУдаляет все ребра- Specified by:
clearEdgesin interfaceGraph<N,E>
-
clearAll
public void clearAll()Description copied from interface:GraphУдалес все ребра и вершины -
get
Description copied from interface:SingleGraphВозвращает ребро между вершинами- Specified by:
getin interfaceSingleGraph<N,E>- Parameters:
a- Вершина Аb- Вершина Б- Returns:
- Ребро
-
set
Description copied from interface:SingleGraphУстанавливает/Сбрасывает ребро между вершинами- Specified by:
setin interfaceSingleGraph<N,E>- Parameters:
a- Вершина Аb- Вершина Бe- Ребро
-
setEdge
Description copied from interface:GraphУстановка ребра между вершинами -
setEdges
Description copied from interface:GraphУстановка ребр между вершинами -
removeEdge
Description copied from interface:GraphУдаление ребра- Specified by:
removeEdgein interfaceGraph<N,E>- Parameters:
a- Вершина Аb- Вершина Б
-