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 }