01: /* ----- BEGIN LICENSE BLOCK -----
02: * Version: MPL 1.1
03: *
04: * The contents of this file are subject to the Mozilla Public License Version
05: * 1.1 (the "License"); you may not use this file except in compliance with
06: * the License. You may obtain a copy of the License at
07: * http://www.mozilla.org/MPL/
08: *
09: * Software distributed under the License is distributed on an "AS IS" basis,
10: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11: * for the specific language governing rights and limitations under the
12: * License.
13: *
14: * The Original Code is the DataShare server.
15: *
16: * The Initial Developer of the Original Code is
17: * Ball Aerospace & Technologies Corp, Fairborn, Ohio
18: * Portions created by the Initial Developer are Copyright (C) 2001
19: * the Initial Developer. All Rights Reserved.
20: *
21: * Contributor(s): Charles Wood <cwood@ball.com>
22: *
23: * ----- END LICENSE BLOCK ----- */
24: /* RCS $Id: PersistenceInterface.java,v 1.1.1.1 2001/10/23 13:37:18 lizellaman Exp $
25: * $Log: PersistenceInterface.java,v $
26: * Revision 1.1.1.1 2001/10/23 13:37:18 lizellaman
27: * initial sourceforge release
28: *
29: */
30:
31: package org.datashare;
32:
33: import java.util.Enumeration;
34: import java.util.Hashtable;
35:
36: /**
37: * this interface shall be implemented by the class that provides the ability to save/retrieve
38: * any data that is to be persisted by DataShare.
39: * @date July 25, 2001
40: * @author Charles Wood
41: * @version 1.0
42: */
43: public interface PersistenceInterface {
44: /**
45: * must be called first, initializes any required databases/tables, etc.
46: * The database is ready to use after a successful call to this method.
47: * @return true if successful, false otherwise.
48: */
49: boolean initialize();
50:
51: /**
52: * Returns an Enumeration of Objects, the value of which is set to the 'userObject' field of the
53: * properties attribute that was used to create the persisted object. (in English, if you create a
54: * pesisted object with a properties key='userObject', value=(SessionInfo instance), the Enumeration
55: * will return the SessionInfo object as an Object).
56: */
57: Enumeration searchForUserObjects(String table, String searchString);
58:
59: /**
60: *
61: */
62: void delete(String table, String searchString);
63:
64: ///**
65: // *
66: // */
67: //Enumeration
68: //retreive(String table, String key);
69:
70: /**
71: *
72: */
73: String save(String table, Hashtable properties);
74:
75: /**
76: *
77: */
78: String update(String table, String key, Object object);
79:
80: /**
81: *
82: */
83: int findCount(String table, String searchString);
84:
85: /** THIS IS ADS SPECIFIC
86: * saves the file on the server's disk drive.
87: * @param ownerKeyString the user whose copy folder we wish to save the file into
88: * @param si Session that had this function
89: * @param ci Channel that had this function
90: * @param fileExtension the part of the filename that comes after the '.'
91: * @param fileContents the text file converted to
92: * @param mimeType the type of file to be saved, see second column of ads\config\types.cfg
93: */
94: void saveFunctionDataToDisk(String ownerKeyString, SessionInfo si,
95: ChannelInfo ci, String fileExtension, byte[] fileContents,
96: String mimeType);
97: }
|