I'm currently looking at updating JspViewhandlerImpl and
FaceletViewHandlerImpl for MYFACES-2219. As I'm looking at this, it
seems that many/most of the methods that need to be implemented or
updated will be identical for both JSP and Facelet.
I see three potential ways of handling this:
1) Have lots of duplicate code in both impl classes.
2) Implement in the API.where possible
3) Create an abstract parent class that extends ViewHandler for the impl
classes to extend from.
The first option is not ideal for obvious reasons. With respect to the
second option, the JSF spec already forces a lot of implementing in the
API. I'd rather not add more if possible since its really not the place
for it. My preference would be for the third option. I could push the
ViewHandler method impls common to both Facelet and JSP to a new class
(maybe org.apache.myfaces.application.AbstractViewHandler) and then
implement the method which are different for each in the JSP and Facelet
impls respectively.
Thanks for you input,
Mike