Class GraphMLWriter<V,E>

java.lang.Object
edu.uci.ics.jung.io.GraphMLWriter<V,E>

public class GraphMLWriter<V,E> extends Object
Writes graphs out in GraphML format. Current known issues:
  • Only supports one graph per output file.
  • Does not indent lines for text-format readability.
  • Field Details

    • vertex_ids

      protected com.google.common.base.Function<? super V,String> vertex_ids
    • edge_ids

      protected com.google.common.base.Function<? super E,String> edge_ids
    • graph_data

      protected Map<String,GraphMLMetadata<Hypergraph<V,E>>> graph_data
    • vertex_data

      protected Map<String,GraphMLMetadata<V>> vertex_data
    • edge_data

      protected Map<String,GraphMLMetadata<E>> edge_data
    • vertex_desc

      protected com.google.common.base.Function<? super V,String> vertex_desc
    • edge_desc

      protected com.google.common.base.Function<? super E,String> edge_desc
    • graph_desc

      protected com.google.common.base.Function<? super Hypergraph<V,E>,String> graph_desc
    • directed

      protected boolean directed
    • nest_level

      protected int nest_level
  • Constructor Details

    • GraphMLWriter

      public GraphMLWriter()
  • Method Details

    • save

      public void save(Hypergraph<V,E> graph, Writer w) throws IOException
      Writes graph out using w.
      Parameters:
      graph - the graph to write out
      w - the writer instance to which the graph data will be written out
      Throws:
      IOException - if writing the graph fails
    • writeIndentedText

      protected void writeIndentedText(BufferedWriter w, String to_write) throws IOException
      Throws:
      IOException
    • writeVertexData

      protected void writeVertexData(Hypergraph<V,E> graph, BufferedWriter w) throws IOException
      Throws:
      IOException
    • writeEdgeData

      protected void writeEdgeData(Hypergraph<V,E> g, Writer w) throws IOException
      Throws:
      IOException
    • writeKeySpecification

      protected void writeKeySpecification(String key, String type, GraphMLMetadata<?> ds, BufferedWriter bw) throws IOException
      Throws:
      IOException
    • format

      protected String format(String type, String attr, String value, String contents)
    • setVertexIDs

      public void setVertexIDs(com.google.common.base.Function<V,String> vertex_ids)
      Provides an ID that will be used to identify a vertex in the output file. If the vertex IDs are not set, the ID for each vertex will default to the output of toString (and thus not guaranteed to be unique).
      Parameters:
      vertex_ids - a mapping from vertex to ID
    • setEdgeIDs

      public void setEdgeIDs(com.google.common.base.Function<E,String> edge_ids)
      Provides an ID that will be used to identify an edge in the output file. If any edge ID is missing, no ID will be written out for the corresponding edge.
      Parameters:
      edge_ids - a mapping from edge to ID
    • setGraphData

      public void setGraphData(Map<String,GraphMLMetadata<Hypergraph<V,E>>> graph_map)
      Provides a map from data type name to graph data.
      Parameters:
      graph_map - map from data type name to graph data
    • setVertexData

      public void setVertexData(Map<String,GraphMLMetadata<V>> vertex_map)
      Provides a map from data type name to vertex data.
      Parameters:
      vertex_map - map from data type name to vertex data
    • setEdgeData

      public void setEdgeData(Map<String,GraphMLMetadata<E>> edge_map)
      Provides a map from data type name to edge data.
      Parameters:
      edge_map - map from data type name to edge data
    • addGraphData

      public void addGraphData(String id, String description, String default_value, com.google.common.base.Function<Hypergraph<V,E>,String> graph_transformer)
      Adds a new graph data specification.
      Parameters:
      id - the ID of the data to add
      description - a description of the data to add
      default_value - a default value for the data type
      graph_transformer - a mapping from graphs to their string representations
    • addVertexData

      public void addVertexData(String id, String description, String default_value, com.google.common.base.Function<V,String> vertex_transformer)
      Adds a new vertex data specification.
      Parameters:
      id - the ID of the data to add
      description - a description of the data to add
      default_value - a default value for the data type
      vertex_transformer - a mapping from vertices to their string representations
    • addEdgeData

      public void addEdgeData(String id, String description, String default_value, com.google.common.base.Function<E,String> edge_transformer)
      Adds a new edge data specification.
      Parameters:
      id - the ID of the data to add
      description - a description of the data to add
      default_value - a default value for the data type
      edge_transformer - a mapping from edges to their string representations
    • setVertexDescriptions

      public void setVertexDescriptions(com.google.common.base.Function<V,String> vertex_desc)
      Provides vertex descriptions.
      Parameters:
      vertex_desc - a mapping from vertices to their descriptions
    • setEdgeDescriptions

      public void setEdgeDescriptions(com.google.common.base.Function<E,String> edge_desc)
      Provides edge descriptions.
      Parameters:
      edge_desc - a mapping from edges to their descriptions
    • setGraphDescriptions

      public void setGraphDescriptions(com.google.common.base.Function<Hypergraph<V,E>,String> graph_desc)
      Provides graph descriptions.
      Parameters:
      graph_desc - a mapping from graphs to their descriptions