org.neodatis.odb.impl.core.server.layers.layer3.engine
Class ODBServerImpl

java.lang.Object
  extended by org.neodatis.odb.impl.core.server.layers.layer3.engine.ODBServerImpl
All Implemented Interfaces:
java.lang.Runnable, IODBServerExt, ODBServer, OdbRunnable

public class ODBServerImpl
extends java.lang.Object
implements OdbRunnable, IODBServerExt

The ODB implementation for Server mode

Author:
osmadja

Field Summary
static java.lang.String LOG_ID
           
 
Constructor Summary
ODBServerImpl(int port)
           
 
Method Summary
 void addBase(java.lang.String baseIdentifier, java.lang.String fileName)
          Adds a base to the server.
 void addBase(java.lang.String baseIdentifier, java.lang.String fileName, java.lang.String user, java.lang.String password)
          Adds a base to the server.
 void addDeleteTrigger(java.lang.String baseIdentifier, java.lang.String className, ServerDeleteTrigger trigger)
          USed to add a delete trigger callback
 void addInsertTrigger(java.lang.String baseIdentifier, java.lang.String className, ServerInsertTrigger trigger)
          Used to add an insert trigger callback
 void addOidTrigger(java.lang.String baseIdentifier, java.lang.String className, OIDTrigger trigger)
           
 void addSelectTrigger(java.lang.String baseIdentifier, java.lang.String className, ServerSelectTrigger trigger)
          Used to add a select trigger callback
 void addUpdateTrigger(java.lang.String baseIdentifier, java.lang.String className, ServerUpdateTrigger trigger)
          Used to add an update trigger callback
 void addUserForBase(java.lang.String baseIdentifier, java.lang.String user, java.lang.String password)
          Not yet implemented
 void close()
          Closes the server.
 java.util.Map getConnectionManagers()
           
 IOSocketParameter getParameters(java.lang.String baseIdentifier, boolean clientAndServerRunInSameVM)
           
 ODB openClient(java.lang.String baseIdentifier)
           
 void run()
           
 void setAutomaticallyCreateDatabase(boolean yes)
           
 void startServer()
           
 void startServer(boolean inThread)
          actually starts the server.
 java.lang.String toString()
           
 ClientServerConnection waitForRemoteConnection()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOG_ID

public static final java.lang.String LOG_ID
See Also:
Constant Field Values
Constructor Detail

ODBServerImpl

public ODBServerImpl(int port)
Method Detail

addBase

public void addBase(java.lang.String baseIdentifier,
                    java.lang.String fileName)
Description copied from interface: ODBServer
Adds a base to the server. If the base does not exist, it will be created. Can be called after server start.

Specified by:
addBase in interface ODBServer
Parameters:
baseIdentifier - The name that the client must use to reference this base
fileName - The physical file name of this base

addBase

public void addBase(java.lang.String baseIdentifier,
                    java.lang.String fileName,
                    java.lang.String user,
                    java.lang.String password)
Description copied from interface: ODBServer
Adds a base to the server. If the base does not exist, it will be created. Can be called after server start.

Specified by:
addBase in interface ODBServer
fileName - The name that the client must use to reference this base
user - The user that will be used to open the database
password - The password that will be used to open the base

addUserForBase

public void addUserForBase(java.lang.String baseIdentifier,
                           java.lang.String user,
                           java.lang.String password)
Description copied from interface: ODBServer
Not yet implemented

Specified by:
addUserForBase in interface ODBServer

startServer

public void startServer(boolean inThread)
Description copied from interface: ODBServer
actually starts the server. Starts listening incoming connections on the port.

Specified by:
startServer in interface IODBServerExt
Specified by:
startServer in interface ODBServer
Parameters:
inThread - If true, the server is started in an independent thread for listening incoming connections, else it simply executes the server (client connection) in the current thread

run

public void run()
Specified by:
run in interface java.lang.Runnable

startServer

public void startServer()
                 throws java.io.IOException
Throws:
java.io.IOException

waitForRemoteConnection

public ClientServerConnection waitForRemoteConnection()
                                               throws java.io.IOException
Throws:
java.io.IOException

close

public void close()
Description copied from interface: ODBServer
Closes the server. Closes the socket server and all registered databases.

Specified by:
close in interface ODBServer

setAutomaticallyCreateDatabase

public void setAutomaticallyCreateDatabase(boolean yes)
Specified by:
setAutomaticallyCreateDatabase in interface ODBServer

openClient

public ODB openClient(java.lang.String baseIdentifier)
Specified by:
openClient in interface ODBServer

getConnectionManagers

public java.util.Map getConnectionManagers()
Specified by:
getConnectionManagers in interface IODBServerExt

getParameters

public IOSocketParameter getParameters(java.lang.String baseIdentifier,
                                       boolean clientAndServerRunInSameVM)
Specified by:
getParameters in interface IODBServerExt

addDeleteTrigger

public void addDeleteTrigger(java.lang.String baseIdentifier,
                             java.lang.String className,
                             ServerDeleteTrigger trigger)
Description copied from interface: ODBServer
USed to add a delete trigger callback

Specified by:
addDeleteTrigger in interface ODBServer

addInsertTrigger

public void addInsertTrigger(java.lang.String baseIdentifier,
                             java.lang.String className,
                             ServerInsertTrigger trigger)
Description copied from interface: ODBServer
Used to add an insert trigger callback

Specified by:
addInsertTrigger in interface ODBServer

addOidTrigger

public void addOidTrigger(java.lang.String baseIdentifier,
                          java.lang.String className,
                          OIDTrigger trigger)
Specified by:
addOidTrigger in interface ODBServer

addSelectTrigger

public void addSelectTrigger(java.lang.String baseIdentifier,
                             java.lang.String className,
                             ServerSelectTrigger trigger)
Description copied from interface: ODBServer
Used to add a select trigger callback

Specified by:
addSelectTrigger in interface ODBServer

addUpdateTrigger

public void addUpdateTrigger(java.lang.String baseIdentifier,
                             java.lang.String className,
                             ServerUpdateTrigger trigger)
Description copied from interface: ODBServer
Used to add an update trigger callback

Specified by:
addUpdateTrigger in interface ODBServer

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object