KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > ObjectServer


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com
2
3 This file is part of the db4o open source object database.
4
5 db4o is free software; you can redistribute it and/or modify it under
6 the terms of version 2 of the GNU General Public License as published
7 by the Free Software Foundation and as clarified by db4objects' GPL
8 interpretation policy, available at
9 http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
10 Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
11 Suite 350, San Mateo, CA 94403, USA.
12
13 db4o is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License along
19 with this program; if not, write to the Free Software Foundation, Inc.,
20 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */

21 package com.db4o;
22
23 import com.db4o.ext.*;
24
25 /**
26  * the db4o server interface.
27  * <br><br>- db4o servers can be opened with {@link Db4o#openServer(String, int)}.<br>
28  * - Direct in-memory connections to servers can be made with {@link #openClient()} <br>
29  * - TCP connections are available through {@link Db4o#openClient(String, int, String, String)}.
30  * <br><br>Before connecting clients over TCP, you have to
31  * {@link #grantAccess(String, String)} to the username and password combination
32  * that you want to use.
33  * @see Db4o#openServer(java.lang.String, int) Db4o.openServer
34  * @see ExtObjectServer ExtObjectServer for extended functionality
35  */

36 public interface ObjectServer {
37     /**
38     * closes the <code>ObjectServer</code> and writes all cached data.
39     * <br><br>
40     * @return true - denotes that the last instance connected to the
41     * used database file was closed.
42     */

43     public boolean close();
44
45     /**
46      * returns an ObjectServer with extended functionality.
47      * <br><br>Use this method as a convient accessor to extended methods.
48      * Every ObjectServer can be casted to an ExtObjectServer.
49      * <br><br>The functionality is split to two interfaces to allow newcomers to
50      * focus on the essential methods.
51      */

52     public ExtObjectServer ext();
53
54     /**
55      * grants client access to the specified user with the specified password.
56      * <br><br>If the user already exists, the password is changed to
57      * the specified password.<br><br>
58      * @param userName the name of the user
59      * @param password the password to be used
60      */

61     public void grantAccess(String JavaDoc userName, String JavaDoc password);
62
63     /**
64      * opens a client against this server.
65      * <br><br>A client opened with this method operates within the same VM
66      * as the server. Since an embedded client can use direct communication, without
67      * an in-between socket connection, performance will be better than a client
68      * opened with
69      * {@link Db4o#openClient(java.lang.String, int, java.lang.String, java.lang.String)}
70      *
71      * <br><br>Every client has it's own transaction and uses it's own cache
72      * for it's own version of all peristent objects.
73      *
74      */

75     public ObjectContainer openClient();
76
77 }
78
Popular Tags