net.didion.jwnl.dictionary.file_manager
Class RemoteFileManager

java.lang.Object
  extended by net.didion.jwnl.dictionary.file_manager.FileManagerImpl
      extended by net.didion.jwnl.dictionary.file_manager.RemoteFileManager
All Implemented Interfaces:
Remote, FileManager, Createable

public class RemoteFileManager
extends FileManagerImpl

An object of this class can serve as a FileManager for remote FileBackedDictionary instantiations using RMI. This class also contains utility routines to publish a RemoteFileManager for remote use, and to lookup a remote one for local use.

To make a RemoteFileManager available to remote clients:

   System.setSecurityManager(new RMISecurityManager());
   LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
   new RemoteFileManager().bind();
 

To create a local Dictionary backed by a remote RemoteFileManager:

   Dictionary dictionary = new FileBackedDictionary(RemoteFileManager.lookup(hostname));
 


Field Summary
static String BINDING_NAME
          The standard RMI binding name.
 
Fields inherited from class net.didion.jwnl.dictionary.file_manager.FileManagerImpl
FILE_TYPE, PATH
 
Constructor Summary
RemoteFileManager(String searchDir, Class dictionaryFileType)
          Construct a file manager backed by a set of files contained in the default WN search directory.
 
Method Summary
 void bind()
          Bind this object to the value of BINDING_NAME in the local RMI registry.
static FileManager lookup(String hostname)
          Lookup the object bound to the value of BINDING_NAME in the RMI registry on the host named by hostname
 
Methods inherited from class net.didion.jwnl.dictionary.file_manager.FileManagerImpl
close, create, getFile, getFirstLinePointer, getIndexedLinePointer, getMatchingLinePointer, getNextLinePointer, getRandomLinePointer, readLineAt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BINDING_NAME

public static final String BINDING_NAME
The standard RMI binding name.

See Also:
Constant Field Values
Constructor Detail

RemoteFileManager

public RemoteFileManager(String searchDir,
                         Class dictionaryFileType)
                  throws IOException,
                         RemoteException
Construct a file manager backed by a set of files contained in the default WN search directory. See FileManagerImpl for a description of the default search directory.

Throws:
RemoteException - If remote operation failed.
IOException
Method Detail

bind

public void bind()
          throws RemoteException,
                 AlreadyBoundException
Bind this object to the value of BINDING_NAME in the local RMI registry.

Throws:
AlreadyBoundException - If BINDING_NAME is already bound.
RemoteException - If remote operation failed.

lookup

public static FileManager lookup(String hostname)
                          throws AccessException,
                                 NotBoundException,
                                 RemoteException,
                                 UnknownHostException
Lookup the object bound to the value of BINDING_NAME in the RMI registry on the host named by hostname

Returns:
An RMI proxy of type FileManager.
Throws:
AccessException - If this operation is not permitted.
NotBoundException - If there is no object named BINDING_NAME in the remote registry.
RemoteException - If remote operation failed.
UnknownHostException - If the host could not be located.


Copyright © 2011. All Rights Reserved.