[rules-users] @key declarations for a type - What's under the hood?

Edson Tirelli ed.tirelli at gmail.com
Wed Feb 26 17:11:22 EST 2014


   Drools bytecode generates these beans without generating java source
code (if you are using the declare, not the data modeller). Having said
that, it is very simple:

declare Here
    location: String @key
end

   Generates a java class roughly equivalent to:

public class Here implements Serializable {
   private String location;

   public Here() {}

   public Here( String location ) {
      this.location = location;
   }

   public String getLocation() { return location; }
   public void setLocation(String location) { this.location = location; }

   // generates a toString()

   // generates a hashCode()/equals() method that use the location's
hashcode()/equals()
}

   I did this from memory, but it is pretty much all it does. Nothing
complex there, just a javabean really.

   The difference to not using @key is that the hashCode()/equals() methods
would not take "location" in consideration, and in this case, since there
are no other attributes, would then rely on system identity.

   Edson





On Wed, Feb 26, 2014 at 2:23 PM, profversaggi <profversaggi at gmail.com>wrote:

> I was looking for something along the lines of a method of inspecting the
> resulting code of any arbitrary @key declarations I might want to deploy.
> Is
> there such a way?
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/key-declarations-for-a-type-What-s-under-the-hood-tp4028343p4028346.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
  Edson Tirelli
  Principal Software Engineer
  Red Hat Business Systems and Intelligence Group
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140226/5aa6454a/attachment.html 


More information about the rules-users mailing list