--- Peter Reilly <[EMAIL PROTECTED]> wrote: > On 8/22/07, Matt Benson <[EMAIL PROTECTED]> > wrote: > > > > --- Peter Reilly <[EMAIL PROTECTED]> > wrote: > > > > > On 8/22/07, Matt Benson <[EMAIL PROTECTED]> > > > wrote: > > > > [SNIP] > > > > though I'd still like an opinion on the proxy > > > > mechanism I suggested for delegate > recursion... > > > :) > > > > > > I did not reply because I did not understand the > > > proposal :-) > > > > > [SNIP] > > > > Okay--when a PH calls a delegate it passes itself > down > > in case the delegate needs to make calls against > the > > PH. This would imply a sort of property decorator > > pattern. Anyway, I think in this case a delegate > > calling PH.get() might need to be able to discern > the > > difference between NullReturn and no-such-property > > null. The first thing that occurred to me was > that > > the PH could pass the delegate not itself, but a > sort > > of proxy to itself that would fail to decode > > NullResult but instead return it to the delegate > > unharmed so that the delegate could handle the > > difference between them. Since this would need to > be > > passed down over and over again I thought it could > > live as a member of each PropertyHelper instance. > > I think that I sort of follow, however I do not > think that > it can be a member of the PH instance since PH needs > to be ThreadSafe. > > My idea was that the nullreturn was a message to PH > (i.e. > end the chain) and not to the PH delegates. > > Perhaps a new method PH.evalulateProperty(project, > name) (like > PH.getProperty(project, name), > could return a PHResultObject - > the tostring of which would be the current > stringy form - ie > ${xx} (a delegate could change this to a "null" > and the getObject() > would return null or the object > if present. setX(String, File etc) would be > called with the > toString() method and setX(Object) would be > called with the > getObject() method. > > If a delegate can resolve a property, it can > return a PHResultObject > if it wants to do something like handing nulls. > >
My mind is swimming, and I don't really have the time to try and make complete sense of all this right now. :( I would say we could just leave the issue until it causes a problem, but I'd rather have as many issues as possible ironed out before 1.8.0 is released or we'll have further API ugliness. But we've got some time until then. -Matt > Peter > > > > > > Does that make sense? > > > > -Matt > > > > > > > > > ____________________________________________________________________________________ > > Got a little couch potato? > > Check out fun summer activities for kids. > > > http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bz > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > ____________________________________________________________________________________ Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center. http://autos.yahoo.com/green_center/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]