[rules-dev] TypeDeclaration plugin heirarchy

Stephen Kestle stephen.kestle at orionhealth.com
Thu Aug 28 17:32:46 EDT 2008



Edson Tirelli wrote:
>    There are a few issues on how templates were implemented. The main 
> one, and probably the main reason we did not extended the 
> functionality to support any underlying fact format, is the syntax 
> support on semantic code blocks. I.e. dialect support, specially on 
> consequences.
Yes, I thought $person.getFieldValue("age") was a bit annoying...

But the more I look into the code and interfaces around FactTemplate, 
the more I like it's approach and it's fit for ontological (dynamic 
model/schema) data models. 

   1. MVEL etc needs to reflect on methods to give the dialect support
      to POJOs
   2. To make an dynamic model fit to OO, TypeDeclarations would need to
      be able to generate interfaces, an a proxy mechanism would be
      needed for the map-backed model - this just seems too retarded
   3. Surely TypeDeclaration should be an interface with methods to gain
      method information and types etc.  PojoTypeDeclaration would
      implement this using the reflective model as current. 
      TemplateTypeDeclaration would use the FactTemplate to do it (if it
      was being continued).  This way maximum pluggability is maintained.
   4. Isn't this what FactTemplate does?  I see the problem is that
      FactTemplate was an add-on, instead of a super set / *the* way of
      accessing fact type information.
   5. Is this idea awesome? Calling TypeDeclaration.execute("getAge")
      does not seem any different to how it is now - how "compiled" are
      these rules?  If they are byte-compiled, then that optimisation
      could be done for PojoTypeDeclaration.

How correct am I on these points?

Cheers

Stephen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20080829/624c7229/attachment.html 


More information about the rules-dev mailing list