org.jgrapht.ext

## Class GmlExporter<V,E>

- java.lang.Object
- - org.jgrapht.ext.GmlExporter<V,E>

-     public class GmlExporter<V,E>
      extends Object

  Exports a graph into a GML file (Graph Modelling Language).

  For a description of the format see http://www.infosun.fmi.uni-passau.de/Graphlet/GML/.

  The objects associated with vertices and edges are exported as labels using their toString() implementation. See the `setPrintLabels(Integer)` method. The default behavior is to export no label information.

  Author:
    Dimitrios Michail

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Integer` | `PRINT_EDGE_LABELS` Option to export only the edge labels.
    `static Integer` | `PRINT_EDGE_VERTEX_LABELS` Option to export both edge and vertex labels.
    `static Integer` | `PRINT_NO_LABELS` Option to export no vertex or edge labels.
    `static Integer` | `PRINT_VERTEX_LABELS` Option to export only the vertex labels.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GmlExporter()` Creates a new GmlExporter object with integer name providers for the vertex and edge IDs and null providers for the vertex and edge labels.
    `GmlExporter(VertexNameProvider<V> vertexIDProvider, VertexNameProvider<V> vertexLabelProvider, EdgeNameProvider<E> edgeIDProvider, EdgeNameProvider<E> edgeLabelProvider)` Constructs a new GmlExporter object with the given ID and label providers.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `export(Writer output, DirectedGraph<V,E> g)` Exports a directed graph into a plain text file in GML format.
    `void` | `export(Writer output, UndirectedGraph<V,E> g)` Exports an undirected graph into a plain text file in GML format.
    `Integer` | `getPrintLabels()` Get whether to export the vertex and edge labels.
    `void` | `setPrintLabels(Integer i)` Set whether to export the vertex and edge labels.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PRINT_NO_LABELS

          public static final Integer PRINT_NO_LABELS

      Option to export no vertex or edge labels.

    - #### PRINT_EDGE_LABELS

          public static final Integer PRINT_EDGE_LABELS

      Option to export only the edge labels.

    - #### PRINT_EDGE_VERTEX_LABELS

          public static final Integer PRINT_EDGE_VERTEX_LABELS

      Option to export both edge and vertex labels.

    - #### PRINT_VERTEX_LABELS

          public static final Integer PRINT_VERTEX_LABELS

      Option to export only the vertex labels.

  - ### Constructor Detail

    - #### GmlExporter

          public GmlExporter()

      Creates a new GmlExporter object with integer name providers for the vertex and edge IDs and null providers for the vertex and edge labels.

    - #### GmlExporter

          public GmlExporter(VertexNameProvider<V> vertexIDProvider,
                     VertexNameProvider<V> vertexLabelProvider,
                     EdgeNameProvider<E> edgeIDProvider,
                     EdgeNameProvider<E> edgeLabelProvider)

      Constructs a new GmlExporter object with the given ID and label providers.
      Parameters:
        `vertexIDProvider` - for generating vertex IDs. Must not be null.
        `vertexLabelProvider` - for generating vertex labels. If null, vertex labels will be generated using the toString() method of the vertex object.
        `edgeIDProvider` - for generating vertex IDs. Must not be null.
        `edgeLabelProvider` - for generating edge labels. If null, edge labels will be generated using the toString() method of the edge object.

  - ### Method Detail

    - #### export

          public void export(Writer output,
                    UndirectedGraph<V,E> g)

      Exports an undirected graph into a plain text file in GML format.
      Parameters:
        `output` - the writer to which the graph to be exported
        `g` - the undirected graph to be exported

    - #### export

          public void export(Writer output,
                    DirectedGraph<V,E> g)

      Exports a directed graph into a plain text file in GML format.
      Parameters:
        `output` - the writer to which the graph to be exported
        `g` - the directed graph to be exported

    - #### setPrintLabels

          public void setPrintLabels(Integer i)

      Set whether to export the vertex and edge labels. The default behavior is to export no vertex or edge labels.
      Parameters:
        `i` - What labels to export. Valid options are `PRINT_NO_LABELS`, `PRINT_EDGE_LABELS`, `PRINT_EDGE_VERTEX_LABELS`, and `PRINT_VERTEX_LABELS`.
      Throws:
        `IllegalArgumentException` - if a non-supported value is used
      See Also:
        `PRINT_NO_LABELS`, `PRINT_EDGE_LABELS`, `PRINT_EDGE_VERTEX_LABELS`, `PRINT_VERTEX_LABELS`

    - #### getPrintLabels

          public Integer getPrintLabels()

      Get whether to export the vertex and edge labels.
      Returns:
        One of the `PRINT_NO_LABELS`, `PRINT_EDGE_LABELS`, `PRINT_EDGE_VERTEX_LABELS`, or `PRINT_VERTEX_LABELS`.

Copyright © 2016. All rights reserved.