[rules-users] Java5 Enum - Reference on usage in constraints.

Krishna Satya krishna.ksatya at gmail.com
Thu Jan 31 14:24:11 EST 2008


Greetings.
I am trying to find the correct approach to defining and using Java5 Enum's
in Drools constraints.

*Psudo code:*
Class RuleRequest {
      ... other attributes ...
      // RequestType is an enum type.
      RequestType type ;

      public RequestType getRequestType() {
           return type;
      }
}

public enum RequestType {
   INTERNAL("internal"), EXTERNAL("external");
}

*Drools Rule:*
# 1st Constraint - I could have listed the type in the constraint for
RuleRequest but say I want that to be in a separate constraint
# 2nd Constraint - on the nested RequestType enum
*req: RuleRequest(..some match not based on the RequestType but other
attributes of RuleRequest...)
type: RequestType( ??? == RequestType.INTERNAL ) from req.requestType
*
What should be plugged in ??? to be able to match the requestType.
Interestingly, if I say
*type: RequestType( this == RequestType.INTERNAL ) from req.requestType  *when
the ruleRequest has an RequestType of INTERNAL, the matching works.  But I
do not see any examples/reference in the Drools documentation on the usage
of "this" in constraints. I saw a posting from Edson T. using this which is
why I tried it in the first place.

*Question
*- What is the expectation for the Enum.  Should it have methods (getters)
that return the Enum type itself or methods that return the strigified value
of the Enum?
- What is syntax and usage practices for the usage of the "this" keyword
- What really happens when the Drools engine does the == comparison on
Enum's.  Does it convert to the string value of the enum and then compare
that or is there something else in play.

I hope I have asked valid questions as I see many questions relating to Enum
but maybe a definitive/suggested approach and explanation from the drools
dream team may serve as a good reference on this subject.

Thanks.
- Krishna
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080131/56247231/attachment.html 


More information about the rules-users mailing list