[rules-users] Using field values of an ENUM in the decision table
Visu Nageswaran
visu.nageswaran at in.ibm.com
Sat Jul 11 02:17:35 EDT 2009
better still using in-line eval:
when $c: Computer(memory!=null && memory.value == "128") then doSomething();
The owners / contributers to the drools-expert code base can comment:
Is the check for null necessary when using nested accessors??? Is this
something that the engine can take care during evaluation ???
-Visu
Visu Nageswaran wrote:
>
> Modifying the eval expression to include a check for NULL got it working:
>
> when
> $c: Computer()
> eval( $c.getMemory()!=null && $c.getMemory().getValue().equals("512") )
> then
> System.out.println("XXXXXXXX THIS IS IT XXXXXXXXXXX" );
> end
>
>
>
> Visu Nageswaran wrote:
>>
>> Hello, I am posting a simpler version of the actual requirement:
>> Class Computer has a field 'memory' of the enum type 'Memory' which is
>> defined over integer values
>> - - - - - - - - - -
>> public enum Memory{
>> MEM1(512), MEM2(1024), MEM3(2048);
>> public int value;
>> Memory(int i){this.value = i;}
>> public int getValue(){return value;}
>> }
>> - - - - - - - - - -
>> There is a requirement to model a decision table between memory and price
>> I am looking for the field constraint on the memory field to match to the
>> values:
>>
>> memory.???--> Price
>> 512 --> 100
>> 1024 --> 200
>> 2048 --> 300
>>
>> I tried memory.name, memory.name(), memory.value, memory.getValue(); Does
>> this have to be done using template expressions say something like memory
>> == Memory.reverseLookupEnum($param)
>>
>> Any help, pointers in this regard would be appreciated. thanks.
>> -Visu
>>
>
>
--
View this message in context: http://www.nabble.com/Using-field-values-of-an-ENUM-in-the-decision-table-tp24391112p24437611.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list