[ 
https://issues.apache.org/jira/browse/TAP5-1611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13795377#comment-13795377
 ] 

Thiago H. de Paula Figueiredo commented on TAP5-1611:
-----------------------------------------------------

Barry, we can change the out-of-the-box property edition blocks so they use 
AbstractField or Field instead of TextField, TextArea et al. From a first look, 
it doesn't seem that change would cause any problems. If they do, like it may 
be the case for DateField. Anyway, you can override the edition block for any 
type without much effort. Anyway x2, besides DateField, I don't see this kind 
of case happening often.

> out-of-the-box way in Tapestry for replacing components
> -------------------------------------------------------
>
>                 Key: TAP5-1611
>                 URL: https://issues.apache.org/jira/browse/TAP5-1611
>             Project: Tapestry 5
>          Issue Type: New Feature
>          Components: tapestry-ioc
>    Affects Versions: 5.3
>            Reporter: Jens Breitenstein
>            Assignee: Thiago H. de Paula Figueiredo
>            Priority: Minor
>              Labels: IOC, component
>
> It would be nice to allow global component replacement by a different 
> component class (or derived version from the original) compared to the field 
> type provided. So @InjectComponent would behave more or less like @Inject for 
> services without the need of Interfaces. 
> NOTE: 
> current workaround is decorating ComponentInstantiatorSource 
> As Thiago outlines my workaround is sub-optimal as it bases on internal 
> classes which might subject to change without notice. He suggests to have an 
> Service we can contribute our "overrides" to. Replaceing components would 
> introduce a new level of flexibility to change implementations without 
> touching tml's at all. Naturally ServiceBinder was not my suggested place for 
> this new kind of "binding", seems to be a misunderstanding. From a functional 
> point of view I was just thinking about something like...
>       public static void bind(final ComponentBinder binder)
>       {
>               binder.bind(ComponentA,class, ComponentBderivedFromA.class);
>       }
> ...this, as an example. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to