Instead of retrieving all facts i need to retrieve specific type of facts from working memory.
i learnt that i can retrieve all the facts from working memory as below.
drools.getWorkingMemory().getWorkingMemoryEntryPoint("Stream").getObjects();
Please provide some pointers to retrieve specific type of objects from working memory.
Instead of using the getObjects() method you could use a query. Queries are like rules without RHS:
You can use all the power of DRL language inside your queries to create really complex matching patterns. You can even pass arguments to queries too: http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/#d0e7632
Then, in your java code, you can invoke your query using:
If you need the set of all ClassA you can use an accumulate function in your query.
Hope it helps,
You could use an ObjectFilter
Unfortunately in Drools 5.5.0 Final, the resulting collection's contains method doesn't work as expected. Usually a contains method returns true, if the searched for object equals something in the collection, but Drool's collection only finds objects, which have the same reference (it uses == to compare objects).