private MailUtility() {
mailXml = XmlResource.getInstance("mail_ja.xml");
final Document doc = mailXml.getDocument();
final Element mailDefaultPropertiesElement
= (Element)doc.getElementsByTagName("mail-default-properties").item(0);
final NodeList mailDefaultProperties
= mailDefaultPropertiesElement.getElementsByTagName("property");
properties = new Properties();
for(int i = 0; i < mailDefaultProperties.getLength(); i++){
final Element propertyElement = (Element)mailDefaultProperties.item(i);
properties.setProperty(propertyElement.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()
, propertyElement.getElementsByTagName("value").item(0).getFirstChild().getNodeValue());
}
isDebug = Boolean.valueOf(
mailDefaultPropertiesElement.getElementsByTagName("default-debug-mode").
item(0).getFirstChild().getNodeValue()).
booleanValue();
defaultSubject = mailDefaultPropertiesElement.getElementsByTagName("default-subject").
item(0).getFirstChild().getNodeValue();
defaultCharset = mailDefaultPropertiesElement.getElementsByTagName("default-charset").
item(0).getFirstChild().getNodeValue();
userName = getProperties().getProperty(MAIL_USER);
password = mailDefaultPropertiesElement.getElementsByTagName("default-password").
item(0).getFirstChild().getNodeValue();
}
/**
* 指定されたリソース名のXMLファイルでこのクラスのオブジェクトを生成し、取得する。
* @param name XMLファイルのリソース名
* @return 生成されたXmlResource
*/
public static XmlResource getInstance(String name){
final URL resourceUrl = ClassLoader.getSystemResource(name);
if(resourceUrl == null) throw new MissingResourceException("Resource /"" + name + "/" is not found." , name, "");
final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
documentBuilderFactory.setValidating(true);
documentBuilderFactory.setNamespaceAware(true);
try{
final DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
return new XmlResource(documentBuilder.parse(resourceUrl.toExternalForm()));
}catch(ParserConfigurationException e){
throw new RuntimeException(e.toString());
}catch(IOException e){
throw new RuntimeException(e.toString());
}catch(SAXException e){
throw new RuntimeException(e.toString());
}
}