[rules-users] programmatic manipulation of 4.0 salience?

Scott Reed sreed at spamcop.net
Fri Aug 17 00:55:50 EDT 2007


My 3.1 app has a mechanism that allowed the user to change the salience of some rules before running 
them, before loading up WorkingMemory. This was quite simple, rule.getSalience() returned a rule's 
int salience value and rule.setSalience(int) set it. Now in 4.0 I see salience is no longer just an 
int, but a Salience object with a simple constructor and complicated getValue(Tuple,WorkingMemory) 
method to access the int value.

It appears to be still easy to set the salience of a rule: rule.setSalience( new 
SalienceInteger(int)) but getting the int salience from a Salience object seems to have been removed 
from joe-blow coder's reach.

I would be very grateful if someone would provide me with an example that gets the int salience 
associated with a rule. I have no idea where or why I need to get the Tuple and WorkingMemory. Can I 
just pass nulls in for those two arguments?

Thanks,
   Scott



More information about the rules-users mailing list