[errai-dev] Fwd: Errai UI and DataBinding

Jonathan Fuerth jfuerth at gmail.com
Tue Aug 14 08:09:39 EDT 2012


I'm glad you guys brought this up. I love the proposal, but my first
thought would be, "I wish the annotation was called @Bound."

So that's my vote. :)

Jonathan
On Aug 13, 2012 1:37 PM, "Lincoln Baxter, III" <lincolnbaxter at gmail.com>
wrote:

> I'm still leaning toward @Bound
>
> On Mon, Aug 13, 2012 at 1:12 PM, Christian Sadilek <csadilek at redhat.com>wrote:
>
>> I agree that AutoBound is better, so the remaining question is just @Bind
>> vs. @Bound for DataFields?
>>
>> As adjectives:
>>
>>
>> @Templated
>> public class Thing extends Composite {
>>
>>   @Inject
>>   @Bound(property="street")
>>
>>   @DataField
>>   private TextBox input;
>>
>>
>>   or
>>
>>
>>   @Inject
>>   @Bind(property="street")
>>
>>   @DataField
>>   private TextBox input;
>>
>>
>> }
>>
>>
>>
>> On 2012-08-13, at 12:54 PM, "Lincoln Baxter, III" <
>> lincolnbaxter at gmail.com> wrote:
>>
>> I'm voting for adjectives I guess. It's typically the way that CDI
>> Qualifiers look when functioning with @Inject. Granted, these aren't
>> qualifiers, but they might as well be by how they behave and actually
>> modify the result of the injection.
>>
>> I'm 100% sure how I feel about @AutoBound - but I'm not 100% sure about
>> @Bound.
>>
>>
>> As adjectives:
>>
>> @Templated
>> public class Thing extends Composite {
>>
>>   @Inject
>>   @Bound
>>   private TextBox input;
>>
>>   @Inject
>>   @AutoBound
>>   private DataBinder<Model> binder;
>>
>> }
>>
>>
>> As verbs:
>>
>> @Templated
>> public class Thing extends Composite {
>>
>>   @Inject
>>   @Bind
>>   private TextBox input;
>>
>>   @Inject
>>   @AutoBind
>>   private DataBinder<Model> binder;
>>
>>
>> }
>>
>> On Mon, Aug 13, 2012 at 11:31 AM, Christian Sadilek <csadilek at redhat.com>wrote:
>>
>>> Had the same thought. It's @Inject, so I thought @Bind would be more
>>> consistent on the data field….but I am fine either way…let's vote :)
>>>
>>> On 2012-08-13, at 11:26 AM, "Lincoln Baxter, III" <
>>> lincolnbaxter at gmail.com> wrote:
>>>
>>> Should it be @Bind or @Bound?
>>>
>>> On Mon, Aug 13, 2012 at 10:52 AM, Christian Sadilek <
>>> christian.sadilek at gmail.com> wrote:
>>>
>>>> just forwarding Lincoln's reply. If there are no objections to @Bind
>>>> and @AutoBound, I will go ahead and implement this later today or
>>>> tomorrow.
>>>>
>>>> cheers,
>>>> christian
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Lincoln Baxter, III <lincolnbaxter at gmail.com>
>>>> Date: Mon, Aug 13, 2012 at 12:05 AM
>>>> Subject: Re: [errai-dev] Errai UI and DataBinding
>>>> To: Christian Sadilek <christian.sadilek at gmail.com>
>>>>
>>>>
>>>> I do think we need programmatic control over bindings. I think that
>>>> was one of my first questions when we implemented the @Injected
>>>> databinder. I agree with you that the current state is a bit too
>>>> "magical," and I think that the suggestions you've brough up will help
>>>> to eliminate that.
>>>>
>>>> +1 to individual @Bind and also aggregate @Autobind / @Autobound
>>>> annotation
>>>>
>>>> ~Lincoln
>>>>
>>>> On Sun, Aug 12, 2012 at 7:53 PM, Christian Sadilek
>>>> <christian.sadilek at gmail.com> wrote:
>>>> >
>>>> > Hi,
>>>> >
>>>> > I'd like to propose a change to our DataBinding integration in Errai
>>>> > UI. Basically, I think we should retire the implicit binding approach
>>>> > and introduce a new annotation. So, within a @Templated class that has
>>>> > a DataBinder<T> field, we should have the following options:
>>>> >
>>>> > 1. No binding
>>>> > @Inject @DataField
>>>> > private TextBox date;
>>>> >
>>>> > 2. Binding to model property with matching name
>>>> > @Inject @Bind @DataField
>>>> > private TextBox date;
>>>> >
>>>> > 3. Binding to model property with matching name using provided
>>>> converter
>>>> > @Inject @Bind(converter=MyDataConverter.class) @DataField
>>>> > private TextBox date;
>>>> >
>>>> > 4. Binding to model property with provided name
>>>> > @Inject @Bind(property="lastUpdated") @DataField
>>>> > private TextBox date;
>>>> >
>>>> > 5. Binding to model property with provided name using provided
>>>> converter
>>>> > @Inject @Bind(property="lastUpdated", converter=MyDataConverter.class)
>>>> > @DataField
>>>> > private TextBox date;
>>>> >
>>>> > Additionally, we could add an annotation (e.g. @AutoBind) that when
>>>> > present on the @Templated class causes our current behaviour. All
>>>> > @DataFields will be bound to model properties with matching names.
>>>> >
>>>> > I prefer this approach because just by looking at the code I get all
>>>> > the information I need to undersand what's going on. Our current
>>>> > approach seems a little too magical :).
>>>> >
>>>> > WDYT?
>>>> >
>>>> > Cheers,
>>>> > Christian
>>>> > _______________________________________________
>>>> > errai-dev mailing list
>>>> > errai-dev at lists.jboss.org
>>>> > https://lists.jboss.org/mailman/listinfo/errai-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lincoln Baxter, III
>>>> http://ocpsoft.org
>>>> "Simpler is better."
>>>> _______________________________________________
>>>> errai-dev mailing list
>>>> errai-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/errai-dev
>>>>
>>>
>>>
>>>
>>> --
>>> Lincoln Baxter, III
>>> http://ocpsoft.org
>>> "Simpler is better."
>>> _______________________________________________
>>> errai-dev mailing list
>>> errai-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/errai-dev
>>>
>>>
>>>
>>
>>
>> --
>> Lincoln Baxter, III
>> http://ocpsoft.org
>> "Simpler is better."
>>
>>
>>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.org
> "Simpler is better."
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/errai-dev/attachments/20120814/46e7aad9/attachment.html 


More information about the errai-dev mailing list