ObjectGraph

Can be used to create diagrams (e.g. Plantuml)

API

ObjectGraph.java
class ObjectGraph {
  ObjectGraph create(ObjectGraph.Factory factory)
  ObjectGraph transform(ObjectGraph.Transformer transfomer)     (1)
  String render(ObjectGraph.Renderer renderer)
  DataSource asDiagramDslSource(ObjectGraph.Renderer renderer)
  void writeDiagramDsl(ObjectGraph.Renderer renderer, DataSink sink)
  void writeDiagramDsl(ObjectGraph.Renderer renderer, File destinationDslFile)
  ObjectGraph copy()     (2)
  GraphKernel kernel(ImmutableEnumSet<GraphCharacteristic> characteristics)     (3)
  Map<String, List<ObjectGraph.Object>> objectsGroupedByPackage()     (4)
  Map<String, ObjectGraph.Object> objectById()     (5)
  ObjectGraph subGraph(int[] objectIndexes)     (6)
}
1 transform(ObjectGraph_Transformer)

Passes a (deep clone) copy of this ObjectGraph to given Transformer and returns a transformed ObjectGraph .

2 copy()

Returns a (deep clone) copy of this ObjectGraph .

3 kernel(ImmutableEnumSet)

Returns a GraphKernel of given characteristics.

4 objectsGroupedByPackage()

Returns objects grouped by package (as list-multimap).

5 objectById()

Returns a Map from object.id to Object ObjectGraph.Object

6 subGraph(int)

Returns a sub-graph comprised only of object nodes as picked per zero based indexes int[] .

Members

transform(ObjectGraph_Transformer)

Passes a (deep clone) copy of this ObjectGraph to given Transformer and returns a transformed ObjectGraph .

Hence transformers are not required to create defensive copies.

copy()

Returns a (deep clone) copy of this ObjectGraph .

kernel(ImmutableEnumSet)

Returns a GraphKernel of given characteristics.

objectsGroupedByPackage()

Returns objects grouped by package (as list-multimap).

objectById()

Returns a Map from object.id to Object ObjectGraph.Object

subGraph(int)

Returns a sub-graph comprised only of object nodes as picked per zero based indexes int[] .