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

2014-02-27 Thread Wolfgang Laun
Forgot the rule that creates the output :-) rule isConnected when $r1: Room() $r2: Room( this != $r1 ) $d: Door( fromRoom == $r1, toRoom == $r2 ) then System.out.println( $d + " connects " + $r1 + " and " + $r1 ); end -W On 27/02/2014, Wolfgang Laun wrote: > Works as you'd expre

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

2014-02-27 Thread Wolfgang Laun
Works as you'd exprect it - and here we go: declare Thing size : int end // A room is also a thing declare Room extends Thing name : String @key end // A door is a pathway between two rooms declare Door extends Thing fromRoom : Room @key toRoom : Room @key end rule "startup" when

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

2014-02-27 Thread Edson Tirelli
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 wrote: > But what if you now have 2 declar

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

2014-02-27 Thread Matthew Versaggi
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

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

2014-02-26 Thread Matthew Versaggi
Awesome! Thank you! :-) On Wed, Feb 26, 2014 at 5:11 PM, Edson Tirelli 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

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

2014-02-26 Thread Edson Tirelli
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 Serial

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

2014-02-26 Thread Davide Sottara
In recent versions, knowledge bases allow to retrieve "fact types" by package and class name. Those may be the descriptor classes that you are looking for On 02/26/2014 08:23 PM, profversaggi wrote: > I was looking for something along the lines of a method of inspecting the > resulting code of any

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

2014-02-26 Thread profversaggi
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-tp4028343

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

2014-02-26 Thread Wolfgang Laun
The declare results in a bean, with constructors according to what you have written, with getters and setters, and methods overriding toText, equals and hashCode. -W On 26/02/2014, profversaggi wrote: > Is there any way to interrogate exactly, as in get a printed representation > of what goes on

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

2014-02-26 Thread profversaggi
Is there any way to interrogate exactly, as in get a printed representation of what goes on under the hood for one of these type of declarations ? As an example: (as per the docs) for a declared type like the following: declare Person *firstName : String @key* *lastName : String @key*