[rules-dev] use of declared facts
Michal Bali
michalbali at gmail.com
Tue Jan 27 04:34:55 EST 2009
Look at this unit test for some examples:
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
// Retrieve the generated fact type
FactType cheeseFact = ruleBase.getFactType(
"org.drools.generatedbeans.Cheese" );
// Create a new Fact instance
Object cheese = cheeseFact.newInstance();
// Set a field value using the more verbose method chain...
// should we add short cuts?
// cheeseFact.getField( "type" ).getFieldAccessor().setValue(
cheese,
//
"stilton" );
cheeseFact.set( cheese,
"type",
"stilton" );
assertEquals( "stilton",
cheeseFact.get( cheese,
"type" ) );
On Tue, Jan 27, 2009 at 2:02 AM, Oleg Zenzin <zenzin at intalio.com> wrote:
> There's now possibility to declare facts in the drl, like:
>
> declare Person
> name: String
> age: int
> end
>
> My question is how do I instantiate this fact object during runtime? Do I
> still need to have class Person compiled and existing somewhere in
> classpath, or there's a helper class which I can use "fake the fact",
> something like:
>
> FakeFact person = FakeFact("Person");
> person.setField("name", "Oleg");
> person.setField("age", "42");
> session.insert(person);
>
> Or there's another nicer way?
>
> Thank you,
> -Oleg Zenzin
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20090127/2b1899d6/attachment.html
More information about the rules-dev
mailing list