org.apache.jdo.impl.fostore
Class FOStoreRemoteConnection

java.lang.Object
  extended by java.net.URLConnection
      extended by org.apache.jdo.impl.fostore.FOStoreRemoteConnection

public class FOStoreRemoteConnection
extends java.net.URLConnection

Represents a connection to a store that runs in a JVM separate from that of a client.

This class is public so that clients can access the value of DEFAULT_PORT.

Version:
1.0
Author:
Craig Russell

Field Summary
static int DEFAULT_PORT
          The default port number
 
Fields inherited from class java.net.URLConnection
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
 
Method Summary
 void close()
          Return this connection to the connection pool.
 void closeDatabase()
          Close the database associated with this connection.
 void connect()
          Connect to the data store.
 FOStoreConnectionFactory getConnectionFactory()
          Get the connection Factory used to create this connection.
 org.apache.jdo.impl.fostore.FOStoreConnectionId getConnectionId()
          Get the connection id used to create this connection.
 java.io.DataInput getInputFromServer()
          Provides DataInput from which the client can read replies from the server.
protected  java.lang.String localizePath(java.lang.String path)
           
protected  void login()
          Log in to the datastore.
 void sendToStore(byte[] buffer, int offset, int length)
          Write bytes to the store.
 void setConnectionFactory(FOStoreConnectionFactory cf)
          Set the connection id used to create this connection.
 void setConnectionId(org.apache.jdo.impl.fostore.FOStoreConnectionId id)
          Set the connection id used to create this connection.
 
Methods inherited from class java.net.URLConnection
addRequestProperty, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldKey, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getPermission, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_PORT

public static final int DEFAULT_PORT
The default port number

See Also:
Constant Field Values
Method Detail

connect

public void connect()
             throws java.io.IOException
Connect to the data store. The user name and password are stored in the connectionId.

Specified by:
connect in class java.net.URLConnection
Throws:
java.io.IOException - if a network error occurs

getInputFromServer

public java.io.DataInput getInputFromServer()
                                     throws java.io.IOException
Provides DataInput from which the client can read replies from the server.

Returns:
DataInput from which the client can read replies.
Throws:
java.io.IOException - if any problems.

sendToStore

public void sendToStore(byte[] buffer,
                        int offset,
                        int length)
                 throws java.io.IOException
Write bytes to the store. This is the only method to actually write data bytes from the Message to the server. As soon as the remote side has read the bytes, it processes the message and sends the reply.

Parameters:
buffer - the data buffer
offset - the offset within the buffer
length - the number of bytes to write
Throws:
java.io.IOException - if any problems.

closeDatabase

public void closeDatabase()
                   throws java.io.IOException,
                          org.apache.jdo.impl.fostore.FOStoreDatabaseException
Close the database associated with this connection. This closes the socket associated, which causes the remote database to be closed.

Throws:
java.io.IOException - if any problems with the socket.
FOStoreDatabaseException - if any problems with the database (not used here).

localizePath

protected java.lang.String localizePath(java.lang.String path)
Returns:
The path as given, with the leading '/' removed if there is one.

close

public void close()
           throws java.io.IOException
Return this connection to the connection pool.

Throws:
java.io.IOException

login

protected void login()
              throws java.io.IOException
Log in to the datastore. This will be done for both local and remote connections.

Throws:
java.io.IOException

setConnectionFactory

public void setConnectionFactory(FOStoreConnectionFactory cf)
Set the connection id used to create this connection. This is used to determine which connection pool is used.


getConnectionFactory

public FOStoreConnectionFactory getConnectionFactory()
Get the connection Factory used to create this connection. Connections are pooled based on this connection Factory.


setConnectionId

public void setConnectionId(org.apache.jdo.impl.fostore.FOStoreConnectionId id)
Set the connection id used to create this connection. This is used to determine which connection pool is used.


getConnectionId

public org.apache.jdo.impl.fostore.FOStoreConnectionId getConnectionId()
Get the connection id used to create this connection. The id encapsulates URL, user, and password. Connections are pooled based on this connection id.



Copyright © 2005-2011 Apache Software Foundation. All Rights Reserved.