[errai-dev] Fwd: Errai UI and DataBinding

Jonathan Fuerth jfuerth at redhat.com
Tue Aug 14 10:44:29 EDT 2012


Me too. I understand that @Inject is an imperative verb, but maybe that was a mistake in a spec we don't control. :) 


The good news is that it reads well whether or not @Inject is also present: 


@Inject @Bound private TextBox input; 

@Bound private TextBox input = new TextBox("moo"); 

-Jonathan 


PS: sorry for the earlier reply which didn't make it to the list.. I had tried to respond to the list from an account that isn't subscribed to this list. 
----- Original Message -----

From: "Lincoln Baxter, III" <lincolnbaxter at gmail.com> 
To: "Christian Sadilek" <csadilek at redhat.com> 
Cc: errai-dev at lists.jboss.org, "Mike Brock" <brockm at gmail.com>, "Jonathan Fuerth" <jfuerth at gmail.com> 
Sent: Monday, August 13, 2012 1:37:04 PM 
Subject: Re: [errai-dev] Fwd: Errai UI and DataBinding 

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? 



<blockquote>
As adjectives: 


<blockquote>


@Templated 
public class Thing extends Composite { 

@Inject 
@Bound (property="street") 
</blockquote>

<blockquote>
@DataField 
private TextBox input; 

</blockquote>


<blockquote>
or 
</blockquote>



<blockquote>
@Inject 
@Bind(property="street") 
</blockquote>

<blockquote>
@DataField 
private TextBox input; 
</blockquote>



<blockquote>

} 
</blockquote>






On 2012-08-13, at 12:54 PM, "Lincoln Baxter, III" < lincolnbaxter at gmail.com > wrote: 

<blockquote>
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: 

<blockquote>

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: 

<blockquote>
Should it be @Bind or @Bound? 


On Mon, Aug 13, 2012 at 10:52 AM, Christian Sadilek < christian.sadilek at gmail.com > wrote: 

<blockquote>
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 

</blockquote>



-- 
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 

</blockquote>


</blockquote>



-- 
Lincoln Baxter, III 
http://ocpsoft.org 
"Simpler is better." 

</blockquote>


</blockquote>



-- 
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 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/errai-dev/attachments/20120814/e9645b07/attachment-0001.html 


More information about the errai-dev mailing list