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 }