001package org.biopax.paxtools.query.model;
002
003/**
004 * A graph object is the common interface for nodes and edges in a graph.
005 *
006 * @author Ozgun Babur
007 */
008public interface GraphObject
009{
010        /**
011         * Every graph object should have an owner graph.
012         *
013         * @return The owner graph
014         */
015        Graph getGraph();
016
017        /**
018         * This method is used for storing the object in a Map. The key should be uniquely generated for
019         * each edge in a graph.
020         *
021         * @return The key
022         */
023        String getKey();
024
025        /**
026         * This method should clear any analysis specific labels on the object.
027         */
028        void clear();
029}