java.fedora.server.utilities.rebuild.Rebuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fcrepo-client Show documentation
Show all versions of fcrepo-client Show documentation
The Fedora Client is a Java Library that allows API access to a Fedora Repository. The client is typically one part of a full Fedora installation.
The newest version!
/*
* -----------------------------------------------------------------------------
*
* License and Copyright: The contents of this file are subject to the
* Apache License, Version 2.0 (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.fedora-commons.org/licenses.
*
* 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 © 2008 Fedora Commons, Inc.
*
Copyright © 2002-2007 The Rector and Visitors of the University of
* Virginia and Cornell University
* All rights reserved.
*
* -----------------------------------------------------------------------------
*/
package fedora.server.utilities.rebuild;
import java.io.*;
import java.util.*;
import fedora.server.config.ServerConfiguration;
import fedora.server.storage.types.DigitalObject;
/**
* Interface for a class that rebuilds some aspect of the repository.
*
* It is expected that clients of this interface will first call init,
* then start, then addObject (possibly a series of times), then finish.
*
* @@version $Id: Rebuilder.java 3782 2005-03-29 00:03:55Z haschart $
*/
public interface Rebuilder {
/**
* Get a short phrase describing what the user can do with this rebuilder.
*/
public String getAction();
/**
* Initialize the rebuilder, given the server configuration.
*
* @@returns a map of option names to plaintext descriptions.
*/
public Map init(File serverBaseDir,
ServerConfiguration serverConfig) throws Exception;
/**
* Returns true is the server _must_ be shut down for this
* rebuilder to safely operate.
*/
public boolean shouldStopServer();
/**
* Validate the provided options and perform any necessary startup tasks.
*/
public void start(Map options) throws Exception;
/**
* Add the data of interest for the given object.
*/
public void addObject(DigitalObject object) throws Exception;
/**
* Free up any system resources associated with rebuilding.
*/
public void finish() throws Exception;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy