users@jax-rs-spec.java.net

[jax-rs-spec users] [jsr339-experts] Re: Re: Injection of client-side artifacts

From: Bill Burke <bburke_at_redhat.com>
Date: Fri, 15 Jun 2012 09:21:39 -0400

On 6/15/12 9:01 AM, Bill Burke wrote:
>
>
> On 6/15/12 6:50 AM, Marek Potociar wrote:
>>
>> On Jun 5, 2012, at 5:57 PM, Bill Burke wrote:
>>
>>> Looks pretty cool. I like it.
>>>
>>> The only problem I see is, how does a user create a Configuration?
>>
>> Grabbing a proprietary configuration implementation was what I had in
>> mind.
>>
>
> Don't like this idea.
>
>>> Right now because of the enable/disable methods, its quite a complex
>>> interface to implement.
>>
>> Enable/disable has been removed in EDR3. We can further discuss
>> whether or not it makes sense to support configuration changes in
>> WebTarget / Invocation.Builder. I'm not sure I like the idea of
>> dropping this at the moment, but I'm open to discussion.
>>
>
> Not asking to drop it, just move it to another interface.
>

I'll rephrase, maybe move register/update/isEnabled to a separate interface?

public interface Features {

    register
    update
    isEnabled

}

public interface Configuration {

      getProperties()
      getProviderClasses()
      getProviderInstances()

      // btw I don't think you need to have a getFeatures() method, the
provider methods should handle this.
}

and add a property methods to Client, WebTarget, Invocation or create a
different interface for properties.

interface Client {
    Object getProperty
    void setProperty
    void removeProperty
    Set<String> getPropertyNames()
}

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com