package org.greenstone.gsdl3.comms; import org.greenstone.gsdl3.core.ModuleInterface; import org.greenstone.gsdl3.util.*; //XML packages import org.w3c.dom.Node; /** Communicator - base class for Modules that talk via some protocol to other modules * */ abstract public class Communicator implements ModuleInterface { /** home directory of local site */ protected String site_home_=null; /** name of local site */ protected String local_site_name_ = null; /** name of site to connect to */ protected String connection_name_=null; /** address of site to connect to */ protected String connection_address_=null; /** converter for String to DOM and vice versa */ protected XMLConverter converter_= null; public Communicator() { converter_ = new XMLConverter(); } public void setSiteHome(String home) { site_home_ = home; } public void setSiteName(String name) { local_site_name_ = name; } public void setConnectionName(String name) { connection_name_=name; } // format of address depends on connection type public void setConnectionAddress(String address){ connection_address_ = address; } abstract public boolean configure(); abstract public String process(String xml_in); abstract public Node process(Node xml_in); }