View Javadoc

1   /*
2    * Copyright (c) 2008, the JUNG Project and the Regents of the University
3    * of California
4    * All rights reserved.
5    *
6    * This software is open-source under the BSD license; see either
7    * "license.txt" or
8    * http://jung.sourceforge.net/license.txt for a description.
9    */
10  
11  package edu.uci.ics.jung.io.graphml;
12  
13  import java.util.Map;
14  
15  /**
16   * Interface for any GraphML metadata.
17   *
18   * @author Nathan Mittler - nathan.mittler@gmail.com
19   */
20  public interface Metadata {
21  
22      /**
23       * Metadata type enumeration
24       */
25      enum MetadataType {
26          GRAPH, NODE, EDGE, HYPEREDGE, PORT, ENDPOINT
27      }
28  
29      /**
30       * Gets the metadata type of this object.
31       * 
32       * @return the metadata type
33       */
34      MetadataType getMetadataType();
35  
36      /**
37       * Gets any properties that were associated with this metadata in the
38       * GraphML
39       * 
40       * @return GraphML properties
41       */
42      Map<String, String> getProperties();
43  }