01: // Space4J(TM) - Object Persistence in RAM
02: // Copyright (C) 2003 Sergio Oliveira Junior
03: // This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
04:
05: package org.space4j;
06:
07: import java.util.*;
08: import java.io.*;
09:
10: import org.space4j.indexing.*;
11:
12: /**
13: * The Space where the objects will be stored in RAM.<br>
14: * The Space is typically a data structure like a Map used to store the Objects used by your application.<br>
15: */
16: public interface Space extends Serializable {
17:
18: /**
19: * Gets the Object stored in this Space with this key.
20: * @param key The key to retrieve the Object from the Space.
21: * @return The object stored in the Space with this key or null with there is no such object.
22: */
23: public Object getObject(Object key);
24:
25: /**
26: * Puts an Object in this Space with this key.<br>
27: * If and Object already exists with this key, the object is replaced by the new one.<br>
28: * @param key The key to store the Object
29: * @param obj The object to store
30: */
31: public void putObject(Object key, Object obj);
32:
33: /**
34: * Returns a safe iterator of the underlying collection or map object.
35: * @param key The key to retrieve the Object from the Space.<br>
36: * @return A safe iterator of the data structure.
37: */
38: public Iterator getSafeIterator(Object key);
39:
40: /**
41: * Returns a safe iterator of the keys of the underlying map object.
42: * @param key The key to retrieve the Object from the Space.<br>
43: * @return A safe iterator of the keys of the Map.
44: */
45: public Iterator getSafeKeyIterator(Object key);
46:
47: /**
48: * Returns the IndexManager in this space.
49: * @return The IndexManager in this space.
50: */
51: public IndexManager getIndexManager();
52:
53: }
|