Added base classes to represent a directed graph
Added method com.github.fritaly.graphml4j.DirectedGraph.toGraphML(Writer) to serialise the in-memory graph to GraphML
Added a new sample using the class DirectedGraph
Added ability to group nodes
Added interface com.github.fritaly.graphml4j.Renderer to customise the rendering of nodes & edges
Added a new sample to illustrate the use of buffering to generate GraphML files more easily
Added new sample class GradleDependenciesWithGroupsAndBuffering
Added new property com.github.fritaly.graphml4j.Node.data
Added property com.github.fritaly.graphml4j.Edge.data
Implemented the grouping of nodes in sample GradleDependenciesWithGroupsAndBuffering by using buffering
Deleted property com.github.fritaly.graphml4j.Node.label. The node label should now be inferred from the data attached to the node
The property com.github.fritaly.graphml4j.Edge.data is now mandatory
Renamed method com.github.fritaly.graphml4j.DirectedGraph.getNode(String) into getNodeById(String)
Added method com.github.fritaly.graphml4j.DirectedGraph.getNodeByData(Object)
Changed return type for method com.github.fritaly.graphml4j.DirectedGraph.getAllNodes()
Removed unused method com.github.fritaly.graphml4j.DirectedGraph.getChildNodes()
Renamed method com.github.fritaly.graphml4j.DirectedGraph.getEdge(String) into getEdgeById(String)
Changed return type for method com.github.fritaly.graphml4j.DirectedGraph.getEdges()
Added method com.github.fritaly.graphml4j.DirectedGraph.getEdgeByData(Object)
Improved validation of method com.github.fritaly.graphml4j.Node.addChild(Node)