Arraylist

you probly will want to use Design Pattern: Separation of Behaviors since you can’t make a lambda global across rules files.

this is why I recommended using the HashMap or properties class to store the data and then serialize that to the string item. You will have better access to the data inside your rule to update, modify, and do calculations then you would have with just a regular string.

This is also one of the few places where I worry about performance. If your rules are constantly triggering you could be performing a pretty exspensive operation every time which might have a noticeable impact.

Though dealing with just the string might be more straight forward to code initially.