append a JField, it's the main entry
append all sub items to the result.
append all sub items to the result.
The sub items has to be in objects. That's it can only be done before all data is ready
Store code temporary since code is not valid JSON so put Stakeholder first, after everything created as String just before substitute it with real code
Store code temporary since code is not valid JSON so put Stakeholder first, after everything created as String just before substitute it with real code
s"--$$fieldName-$$codeMD5--" -> Real JavaScript code
store or fields which will be put into the result JObject
store or fields which will be put into the result JObject
used to reported problem if the same fields add twice
used to reported problem if the same fields add twice
it is point.events, since only events in points so just using one function without embedded structure
Lazy evaluate the result.
Lazy evaluate the result.
1. preProcessResult 2. create JObject 3. postProcessResult
each Model, two levels of fields are supported
each Model, two levels of fields are supported
[fieldName, List[(subFieldName, subFieldValue)]