01: /*
02: * This file or a portion of this file is licensed under the terms of
03: * the Globus Toolkit Public License, found in file GTPL, or at
04: * http://www.globus.org/toolkit/download/license.html. This notice must
05: * appear in redistributions of this file, with or without modification.
06: *
07: * Redistributions of this Software, with or without modification, must
08: * reproduce the GTPL in: (1) the Software, or (2) the Documentation or
09: * some other similar material which is provided with the Software (if
10: * any).
11: *
12: * Copyright 1999-2004 University of Chicago and The University of
13: * Southern California. All rights reserved.
14: */
15:
16: package org.griphyn.cPlanner.partitioner;
17:
18: /**
19: * An interface to define a BAG of objects. The bag can be then associated
20: * with other data structures, like Graph Nodes.
21: *
22: * @author Karan Vahi
23: * @version $Revision: 50 $
24: */
25:
26: public interface Bag {
27:
28: /**
29: * Returns an objects corresponding to the key passed.
30: *
31: * @param key the key corresponding to which the objects need to be returned.
32: *
33: * @return the object that is found corresponding to the key or null.
34: */
35: public Object get(Object key);
36:
37: /**
38: * Adds an object to the underlying bag corresponding to a particular key.
39: *
40: * @param key the key with which the value has to be associated.
41: * @param value the value to be associated with the key.
42: *
43: * @return boolean indicating if insertion was successful.
44: */
45: public boolean add(Object key, Object value);
46:
47: /**
48: * Returns true if the namespace contains a mapping for the specified key.
49: * More formally, returns true if and only if this map contains at a mapping
50: * for a key k such that (key==null ? k==null : key.equals(k)).
51: * (There can be at most one such mapping.)
52: *
53: * @param key The key that you want to search for in the bag.
54: */
55: public boolean containsKey(Object key);
56:
57: }
|