package org.greenstone.gatherer.cdm; /** *######################################################################### * * A component of the Gatherer application, part of the Greenstone digital * library suite from the New Zealand Digital Library Project at the * University of Waikato, New Zealand. * *

* * Author: John Thompson, Greenstone Digital Library, University of Waikato * *

* * Copyright (C) 1999 New Zealand Digital Library Project * *

* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * *

* * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * *

* * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *######################################################################## */ import org.greenstone.gatherer.Gatherer; import org.greenstone.gatherer.cdm.Classifier; import org.greenstone.gatherer.file.FileNode; /** The interface for any custom classifier. * @author John Thompson, Greenstone Digital Library, University of Waikato * @version 2.3 */ public interface CustomClassifier extends Comparable { /** Constructor. * public CustomClassifier(Gatherer gatherer); */ /** Create a blank copy of this pseudo-classifier. * @return A newly allocated CustomClassifier. */ public CustomClassifier copy(); /** Destructor. */ public void destroy(); /** Show the controls for configuring this pseudo-classifier. * @param show true if the component should immediately show itself, false if you just wish to initialize components. */ public boolean display(boolean show); /** Method to return this pseudo-classifier represented as a String. * @return A String. */ public String getCommand(); /** Retrieve the custom command, a command line that overrides and replaces some other 'actual' classifier. * @param index The number of the classifer this one is replacing. */ public String getCustomCommand(int index); /** Get the name of this custom classifier. * @return A String representing the name. */ public String getName(); public void process(FileNode record); /** Recreate a CustomAZList given several parameters including the real classifier created during custom design. * @param classifier The real Classifier. * @param separations A String representing the choosen separations. */ public void recreate(Classifier classifier, String separations); /** Sets the value of Gatherer, for those classes loaded dynamically. * @param gatherer A reference to the Gatherer. */ public void setGatherer(Gatherer gatherer); /** Sets the Classifier manager in charge of this classifier. * @param manager This classifiers ClassifierManager. */ public void setManager(ClassifierManager manager); }