インターフェイスを実装するJavaクラスがあり、このクラスには文字列値を取るコンストラクターがあり、すべてのメソッドは、クラスが作業を得るためにその値に依存しているため、対処したい場合はどうすればよいですかインターフェイスに直接アクセスし、そこからメソッドにアクセスします。ご存知のように、インターフェイスにはコンストラクターを含めることができないため、そこからその文字列値を割り当てることはできません。
クラス:
public class XmlSource implements XmlInterface{
XmlConf xconf = new XmlConf();
URLProcess urlp = new URLProcess();
private URL url;
private String surl;
public XmlSource(String surl) throws MalformedURLException {
this.surl = surl;
result = urlp.validate(surl);
if(result == true){
configure();
}
}
public boolean configure() throws MalformedURLException {
url = new URL(surl);
xconf.setUrl(url);
xconf.setParameters(urlp.parameters);
xconf.setUrlPath(urlp.path);
xconf.setHostName(urlp.hostName);
return result;
}
public Document load() throws IOException, ParserConfigurationException,
SAXException {
// encoding the URL
InputStream is = url.openStream();
// loading the XML
domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
builder = domFactory.newDocumentBuilder();
doc = builder.parse(is);
return doc;
}
}
インターフェース:
public interface XmlInterface {
public boolean configure() throws Exception;
public Document load() throws Exception;
}