fedora.server.management
Class BasicPIDGenerator

java.lang.Object
  extended byfedora.server.Parameterized
      extended byfedora.server.Pluggable
          extended byfedora.server.Module
              extended byfedora.server.management.BasicPIDGenerator
All Implemented Interfaces:
Logging, PIDGenerator

public class BasicPIDGenerator
extends Module
implements PIDGenerator

A wrapper around the DBPIDGenerator class that casts it as a Module. -----------------------------------------------------------------------------

License and Copyright: The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/.

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The entire file consists of original code. Copyright © 2002-2005 by The Rector and Visitors of the University of Virginia and Cornell University. All rights reserved.

-----------------------------------------------------------------------------

Version:
$Id: BasicPIDGenerator.java,v 1.7 2005/01/11 20:06:06 cwilper Exp $
Author:
cwilper@cs.cornell.edu

Constructor Summary
BasicPIDGenerator(java.util.Map moduleParameters, Server server, java.lang.String role)
          Constructs a BasicPIDGenerator.
 
Method Summary
 java.lang.String generatePID(java.lang.String namespaceID)
          Generate a new pid that is guaranteed to be unique, within the given namespace.
 java.lang.String getLastPID()
          Get the last pid that was generated.
 void initModule()
          Initializes the Module based on configuration parameters.
 void neverGeneratePID(java.lang.String pid)
          Cause the given PID to never be generated by the PID generator.
 void postInitModule()
          Get a reference to the ConnectionPoolManager so we can give the instance constructor a ConnectionPool later in initializeIfNeeded().
 
Methods inherited from class fedora.server.Module
getRole, getServer, logConfig, logFine, logFiner, logFinest, loggingConfig, loggingFine, loggingFiner, loggingFinest, loggingInfo, loggingSevere, loggingWarning, logInfo, logSevere, logWarning, shutdownModule
 
Methods inherited from class fedora.server.Pluggable
getHelp, getOptionalParameters, getParameterHelp, getRequiredModuleRoles, getRequiredParameters
 
Methods inherited from class fedora.server.Parameterized
getParameter, getParameters, parameterNames, setParameter, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicPIDGenerator

public BasicPIDGenerator(java.util.Map moduleParameters,
                         Server server,
                         java.lang.String role)
                  throws ModuleInitializationException
Constructs a BasicPIDGenerator.

Parameters:
moduleParameters - A pre-loaded Map of name-value pairs comprising the intended configuration of this Module.
server - The Server instance.
role - The role this module fulfills, a java class name.
Throws:
ModuleInitializationException - If initilization values are invalid or initialization fails for some other reason.
Method Detail

initModule

public void initModule()
Description copied from class: Module
Initializes the Module based on configuration parameters.

Overrides:
initModule in class Module

postInitModule

public void postInitModule()
                    throws ModuleInitializationException
Get a reference to the ConnectionPoolManager so we can give the instance constructor a ConnectionPool later in initializeIfNeeded().

Overrides:
postInitModule in class Module
Throws:
ModuleInitializationException - If initialization values are invalid or initialization fails for some other reason.

generatePID

public java.lang.String generatePID(java.lang.String namespaceID)
                             throws java.io.IOException
Description copied from interface: PIDGenerator
Generate a new pid that is guaranteed to be unique, within the given namespace.

Specified by:
generatePID in interface PIDGenerator
Throws:
java.io.IOException

getLastPID

public java.lang.String getLastPID()
                            throws java.io.IOException
Description copied from interface: PIDGenerator
Get the last pid that was generated.

Specified by:
getLastPID in interface PIDGenerator
Throws:
java.io.IOException

neverGeneratePID

public void neverGeneratePID(java.lang.String pid)
                      throws java.io.IOException
Description copied from interface: PIDGenerator
Cause the given PID to never be generated by the PID generator.

Specified by:
neverGeneratePID in interface PIDGenerator
Throws:
java.io.IOException