我忙於從xml文件提取數據並將其顯示在word文檔中的項目。我爲這種提取創建了一種方法,但我想通過使用一組方法來簡化它。 這只是我如何測試目前某些信息的示例:設置方法數組 - Java
for (int i = 0; i < nodeMap.getLength(); i++) {
Node node = nodeMap.item(i);
if (node.getNodeName().equalsIgnoreCase("maximumRedeliveries")) {
if (node.getNodeValue().startsWith("{{")) {
retryLogic.setMaximumRedeliveries(extractPropertyName(node.getNodeValue(), propFileLocation));
} else {
retryLogic.setMaximumRedeliveries(node.getNodeValue());
}
}
if (node.getNodeName().equalsIgnoreCase("asyncDelayedRedelivery")) {
if (node.getNodeValue().startsWith("{{")) {
retryLogic.setAsyncDelayedRedelivery(extractPropertyName(node.getNodeValue(), propFileLocation));
} else {
retryLogic.setAsyncDelayedRedelivery(node.getNodeValue());
}
}
}
我的目標,以創建一個數組if語句值,例如「maximumRedeliveries」和「asyncDelayedRedelivery」和陣列它們的相應方法,例如setMaximumRedeliveries(),setAsyncDelayedRedelivery()。我不確定如何創建一組方法,或者甚至可能嗎?
此問題與Java - Creating an array of methods不同,因爲我使用set方法,不知道如何以這種方式實現它。
如果您使用的是Java 8,你可以有字符串的地圖 - > SomeInterface,具有'空接受(節點節點)SomeInterface;'方法,然後用'map.put(「maximumRedeliveries」,this :: setMaximumRedeliveries)'填充它;'說有很多XML處理API可以以更可維護的方式實現它(將數據直接放入從模式生成的pojos中,進入你的pojos,允許你明確地查詢值而不是對它們作出反應等等) –
[Java - Creating a array of methods]的可能的重複(http://stackoverflow.com/questions/4280727/java-creating -an-array-of-methods) – MatheM
@MatheM I t看看這個問題,但它不符合我的情況。 – Hendrien