The most important change is change 5:
The flag Rule.isDisjunctCheckFailed is now transient, that means it will appear NO LONGER in the JSON string. Thus, the JSON strings generated by this library are - for same decision table - different to the JSON strings generated by version 1.1 and 1.1.1 of this library.
But you should get valid objects for any version this library using JSON strings prepared with any version of this library. This was successfully tested with JSON strings made with version 1.0, 1.1 and 1.2.0.
There are new methods to access a flag in any node telling "the last check failed". With this flag in all nodes you may instruct a client "if this node has the flag xy set please set the background colour of this row red, paint background white otherwise". This will be used in version 1.1.0 of JDecisiontable comming soon!
Change number 9 will hopefully affect nobody:
The scope of some methods in class Rule were changed from public to protected. These are:
- Rule.addDecision(int nodePos)
- Rule.addDecision(int nodePos, Decision d)
- Rule.removeDecision(int nodePos)
Please use only these methods to change the number of rules from outside of the package:
- Decisiontable.addNode(int nodePos)
- Decisiontable.removeRule(int rulePos)
Last but not least: Thanks to automatic testing I can "release early, release often". To distinguish different versions more easy I write leading zeros in the version.
All changes in detail are in README.txt.