Remove usage of Strings as service id's 
----------------------------------------

                 Key: TAPESTRY-1904
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1904
             Project: Tapestry
          Issue Type: Wish
          Components: tapestry-ioc
    Affects Versions: 5.0.6
            Reporter: Davor Hrg


Since @Marker annotations were added and multiple markers support too, all is a 
step closer to removing strings as service ids.

on march 10 HW asked for simplifying tapestry by removing @Contribute (mail 
with subject: "Simplify Tapestry IoC?")
but back then @contribute used String for service id and switching to a naming 
convention was a step forward, I believe.


I'll argue this ticket with an assumption:
Module is written and changed far less often than tapestry pages.

While there is definitive benefit from conventions in tapestry core,
for tapestry-ioc might be more suitable for  closer integration with type 
safety and refactoring.

I will elaborate this based on contribute convention in tapestry module


currently you write this to add TypeCoercers:

public void contributeTypeCoercer(){...}

my proposal would be almost the same as before removing @Contribute:

@Contribute(TypeCoercer.class)
public void addCoercers(){...}


In a situation where modulesare autoloading, and cases when missing dependancy 
means only
fewer functionalities, ClassDefNotFound exceptions coluld be intercepted to 
alow continuing startup.

 
I'm unaware of how strongly are service ids integrated into the framework and 
if this is a feasible proposal.
Just feels like a logical step forward after @Marker annotations.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to