On Fri, Feb 29, 2008 at 11:44 PM, Raymond Feng <[EMAIL PROTECTED]> wrote:
> Hi, > > Please vote on one of the following five options to define > allowsPassByReference property for Invokers. You can vote with multiple > choices ordered by your preference. > > [1] Add "boolean allowsPassByReference()" to the Invoker interface > directly > > [2] Add "boolean allowsPassByReference()" to an optional SPI (either a > separate interface or a sub-interface of Invoker) > > [3] Define an "InvokerProperties" interface to encapsulate known > properties > including "allowsPassByReference", change the Provider.createInvoker() to > take InvokerProperties. Add "getInvokerProperties()" to the Invoker > interface. > > [4] Define an "InvokerProperties" class to encapsulate known properties > including "allowsPassByReference", add "getInvokerProperties()" to the > Invoker interface. > > [5] Define an "InvokerProperties" interface to encapsulate known > properties > including "allowsPassByReference", define an "InvocationPropertiesFactory" > interface to create "InvokerProperties", add "getInvokerProperties()" to > the > Invoker interface. > > My vote is [1], [2]. > > Thanks, > Raymond > > Not breaking existing extensions is the most important to me so I'm less keen on [1]. The current state of the code is [2] which I originally found confusing as the method and interface names didn't seem to match - PassByValueAware/allowsPassByReference - so i might have preferred something like PassByReferenceAware/allowsPassByReference but there has been so much discussion around it i guess i know what its all about now. We do seem to regularly need to add properties like this so i can understand the motivation for the InvokerProperties solutions and I'd be fine with doing that if thats what everyone wants. I know this isn't an explicit vote, but there already isn't consensus on one option so i hope it will be clearer and easier to find consensus by stating my preferences like this. ...ant
