There are no fancy hidden things in this bean generator, so your Door would have an empty constructor and a constructor with two Room parameters:

Door door = new Door( fromRoom, toRoom );

   Edson


On Thu, Feb 27, 2014 at 11:24 AM, Matthew Versaggi <profversaggi@gmail.com> wrote:
But what if you now have 2 declare statements in which one defines itself in terms of the other ...

// A room is also a thing
declare Room extends Thing   
    name : String @key
end

One would instantiate an object like this:
Room room = new Room("office");


// A door is a pathway between two rooms 
declare Door extends Thing
   fromRoom : Room @key
   toRoom   : Room @key
end 

How would one instantiate an object of 'Door' ?



On Wed, Feb 26, 2014 at 5:11 PM, Edson Tirelli <ed.tirelli@gmail.com> wrote:

   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@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  Principal Software Engineer 
  Red Hat Business Systems and Intelligence Group


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
#########################################################
Matthew R. Versaggi, President & CEO
Versaggi Information Systems, Inc.
Adjunct Professor of eBusiness DePaul University
Email: mailto:matt@versaggi.com, ProfVersaggi@gmail.com
M: 630-292-8422 
LinkedIn:  http://www.linkedin.com/in/versaggi
#########################################################

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  Principal Software Engineer 
  Red Hat Business Systems and Intelligence Group