Ich bin beschäftigt mit einem Projekt, das Daten aus einer XML-Datei extrahiert und in einem Word-Dokument anzeigt. Ich habe eine Methode für diese Extraktion erstellt, aber ich möchte es vereinfachen, indem Sie ein Array von Methoden verwenden. Diese ist nur ein Beispiel dafür, wie ich teste, bestimmte Informationen im Moment:Array von Set-Methoden - 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());
}
}
}
Ich strebe ein Array für die if-Anweisung Werte, zum Beispiel „maximumRedeliveries“ und „asyncDelayedRedelivery“ zu schaffen und ein Array für die entsprechenden Methoden, zum Beispiel setMaximumRedeliveries(), setAsyncDelayedRedelivery(). Ich bin unsicher, wie ich eine Reihe von Methoden erstellen kann, oder ob es überhaupt möglich ist.
Dieses Problem unterscheidet sich von Java - Creating an array of methods, weil ich Set-Methoden verwenden und nicht wissen, wie Sie es auf diese Weise implementieren.
Wenn Sie Java-8 verwenden, Sie Karte von String haben kann -> SomeInterface, mit SomeInterface mit 'Leere akzeptieren (Node node);' Methode und dann füllen Sie es mit Dingen wie 'map.put (" maximumRedeliveries ", this :: setMaximumRedeliveries);' Sagte, dass es viele XML-Processing-APIs gibt, die es auf wartungsfreundlichere Art und Weise tun können (indem sie Daten direkt in vom Schema erzeugte Pojos stellen) , in deine pojos, indem du dir erlaubst, Werte explizit abzufragen, anstatt auf sie zu reagieren, usw.) –
Mögliches Duplikat von [Java - Ein Array von Methoden erstellen] (http://stackoverflow.com/questions/4280727/java-creating -an-array-of-methods) – MatheM
@MatheM Ich t Ook ein Blick auf diese Frage, aber es funktionierte nicht ganz mit meiner Situation. – Hendrien