I'd vote for something based upon the *Modfy choices - I think they are far 
clearer that they have something to do with drools than the PropertySpecific 
which could easily belong to Spring, JPA, BeanXYZ or a whole host of other 
technologies!

Thomas

> -----Original Message-----
> From: rules-dev-boun...@lists.jboss.org [mailto:rules-dev-
> boun...@lists.jboss.org] On Behalf Of Wolfgang Laun
> Sent: 07 February 2012 10:57
> To: Rules Dev List
> Subject: Re: [rules-dev] Fine Grained Property Change Listeners (Slot 
> Specific)
>
> Nice going, Mario.
>
> Re: Annotation names. I've consulted http://www.synonym.com/antonym
>
> @PropertySpecific, @PropertyGeneral
>
> @PropertySensitive, @PropertyInsensitive
>
> @SelectiveModify, @InclusiveModify
>
> @MaskedModify, @FullModify
>
>
> Re: Person(this==$foo)
> I have a strong argument against making a distinction between a Java Bean and
> a DRL-declared type. It may happen that you migrate (for whatever reason) a
> DRL type to a Java class - and then what?
>
>
> Re: Person()
> What if some following pattern refers to the matched Person via a variable
> bound to Person(), e.g.,
> $p: Person()
> $c: Car( ownerName == $p.name )
>
> (Just being curious: What about the sign bit - the full 64-bit mask would be
> Long.MIN_VALUE?)
>
> Cheers
> Wolfgang
>
>
>
> On 07/02/2012, Mario Fusco <mario.fu...@gmail.com> wrote:
> > Hi all,
> >
> > I just added the possibility to enable/disable PropertySpecific as on
> > option inside the KnowledgeBuilderConfiguration. In particular this
> > new PropertySpecificOption can have 3 values at the moment:
> >
> > - DISABLED => the feature is turned off and all the other related
> > annotations are just ignored
> > - ALLOWED => this is the default behavior: types are not property
> > specific unless they are not annotated with @PropertySpecific
> > - ALWAYS => all types are property specific by default
> >
> > While using this last option you may want sometimes to make a
> > particular type not property specific. My first thought to allow that
> > was to add a boolean argument to the @PropertySpecific annotation so
> > you could write
> > @PropertySpecific(true) (or just @PropertySpecific since true would be
> > the default value) when you want to make a type property specific
> > while using the ALLOWED option (or no option at all) and
> > @PropertySpecific(false) when you want a type not being property specific
> while using the option ALWAYS.
> >
> > As pointed out by Mark this would have the unpleasant side effect that
> > the default value for @PropertySpecific is actually the unwanted (and
> > useless) one while using the ALWAYS option. For this reason, instead
> > of adding a boolean argument to @PropertySpecific, I introduced a
> > second annotation @NotPropertySpecific having the meaning of
> > @PropertySpecific(false). To be honest I am not very happy with this
> > last name so I am looking for a better name for the
> > @PropertySpecific/@NotPropertySpecific pair. Other possibilities could
> > be: @Watchable/@Unwatchable and @Fine/@Coarse but I cannot decide
> > between them. Any preference or even better any good alternative idea?
> >
> > On a different note, I have a few doubts on how to infer the bit mask
> > of the watched properties of a type for 2 specific patterns:
> >
> > 1. Person ( this == $child.father )
> > at the moment while pattern matching on 'this' the Long.MAX_VALUE mask
> > (meaning watch for changes on ALL the type's properties) is inferred.
> > Despite this choice is not formally wrong, probably it could be
> > refined a bit more. In reality I don't think I could do something
> > different if Person is a JavaBean, but if it is defined as a type
> > declaration in the DRL maybe I could watch only the properties annotated
> with @key (if any). Any thought?
> >
> > 2. Person ( )
> > currently also in this case the inferred mask is Long.MAX_VALUE. I am
> > not sure this is neither the correct behavior nor the most intuitive
> > one, but in this case I cannot think to a better strategy. Any suggestion?
> >
> > Thanks for your feedback,
> > Mario
> >
> _______________________________________________
> rules-dev mailing list
> rules-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev


**************************************************************************************
This message is confidential and intended only for the addressee. If you have 
received this message in error, please immediately notify the 
postmas...@nds.com and delete it from your system as well as any copies. The 
content of e-mails as well as traffic data may be monitored by NDS for 
employment and security purposes. To protect the environment please do not 
print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, 
United Kingdom. A company registered in England and Wales. Registered no. 
3080780. VAT no. GB 603 8808 40-00
**************************************************************************************

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

Reply via email to