Hallo,
ich wollte mal ein paar Methodennamen eines versionierten, baumbasierten storage-systems oder frameworks usw. diskutieren:
https://github.com/JohannesLichtenb...src/main/java/org/sirix/api/INodeReadTrx.java
https://github.com/JohannesLichtenb...rc/main/java/org/sirix/api/INodeWriteTrx.java
Ich hoffe die Javadoc Kommentare sind einigermaßen selbsterklärend. Insbesondere in INodeWriteTrx würde ich die modifikations-operationen gerne abkürzen, bspw. insertLeftElement(QName) statt insertElementAsLeftSibling(QName), aber bin mir nicht ganz sicher. Für die Rückgabe von getValue() und getQName() (letzteres will ich wahrscheinlich in getName()) umbenennen würde sich auch Google Guava's Optional-Klasse anbieten, weil ansonsten je nach Knotentyp "null" zurückgegeben wird und ich NPEs vermeiden will. Im Fall von equals, was sicher oft verwendet wird, bspw.
"foobar".equals(trx.getValue()) kann man aber eine NPE auch so vermeiden. Generell würde ich dann die API sobald wie möglich erstmal soweit "finalisieren" (Erweiterbarkeit soll halt nur gegeben sein), so dass eventuelle Nutzer sich darauf verlassen können.
Viele Grüße,
Johannes
ich wollte mal ein paar Methodennamen eines versionierten, baumbasierten storage-systems oder frameworks usw. diskutieren:
https://github.com/JohannesLichtenb...src/main/java/org/sirix/api/INodeReadTrx.java
https://github.com/JohannesLichtenb...rc/main/java/org/sirix/api/INodeWriteTrx.java
Ich hoffe die Javadoc Kommentare sind einigermaßen selbsterklärend. Insbesondere in INodeWriteTrx würde ich die modifikations-operationen gerne abkürzen, bspw. insertLeftElement(QName) statt insertElementAsLeftSibling(QName), aber bin mir nicht ganz sicher. Für die Rückgabe von getValue() und getQName() (letzteres will ich wahrscheinlich in getName()) umbenennen würde sich auch Google Guava's Optional-Klasse anbieten, weil ansonsten je nach Knotentyp "null" zurückgegeben wird und ich NPEs vermeiden will. Im Fall von equals, was sicher oft verwendet wird, bspw.
"foobar".equals(trx.getValue()) kann man aber eine NPE auch so vermeiden. Generell würde ich dann die API sobald wie möglich erstmal soweit "finalisieren" (Erweiterbarkeit soll halt nur gegeben sein), so dass eventuelle Nutzer sich darauf verlassen können.
Viele Grüße,
Johannes