package org.greenstone.gsdl3.gs3build.classifier; import java.util.List; import org.w3c.dom.Element; import org.greenstone.gsdl3.gs3build.doctypes.DocumentID; import org.greenstone.gsdl3.gs3build.doctypes.DocumentInterface; public interface ClassifierInterface { /** * Initialise the classifier as required. The parameters given are specific * to the classifier type, so this interface does not guarantee any interpretations * of any given parameter. * * @param List the parameters with which to configure the classifier. */ public void configure(List parameters); public void configure(java.net.URL baseURL, org.w3c.dom.Node node); public void setDatabase(org.greenstone.gsdl3.gs3build.util.GS3SQLConnection connection); /** * Classify an individual document - the document should be informed of any * classification nodes which it is assigned to, so that it can obtain knowledge * of any "parents". These are assigned into the "classified" metadata item in * the "gsdl3" namespace... */ public boolean classifyDocument(DocumentID documentID, DocumentInterface document); public void startClassifierPass(int pass); public int getClassifierPasses(); public void endClassifierPass(int pass); /** * Called at the end of the classification sequence - the classifier should * save its state at this point... */ public void completeClassification(); public boolean addClassifierDescription(Element classifier_list); }