Details
Description
We need to review our strategy of directly subclassing interfaces rather than using the supplied abstract wrappers for delegation:
public class DOMRenderKit extends RenderKit vs public class DOMRenderKit extends RenderKitWrapper
public class DOMResponseWriter extends ResponseWriter vs public class DOMResponseWriter extends ResponseWriterWrapper
In many cases, using the wrapper would give us access to a delegate class where we could take advantage of existing code.
public class DOMRenderKit extends RenderKit vs public class DOMRenderKit extends RenderKitWrapper
public class DOMResponseWriter extends ResponseWriter vs public class DOMResponseWriter extends ResponseWriterWrapper
In many cases, using the wrapper would give us access to a delegate class where we could take advantage of existing code.
Issue Links
- blocks
-
ICE-5679 Standardize how ICEfaces detects and uses encoding
- Closed
I've done an initial survey of the various Wrapper classes provided by JSF 2.0 and checked our code for usage. Here's what I've determined so far:
Classes that provide a wrapper but that we don't currently extend or use:
ApplicationWrapper
ExceptionHandlerWrapper
ExternalContextWrapper
ResourceWrapper
StateManagerWrapper
ViewHandlerWrapper
VisitContextWrapper
Classes using Wrappers:
DOMPartialViewContext extends PartialViewContextWrapper (may be able to clean up some overridden methods that aren't required)
WriteViewStateOnPageLoad extends FacesContextWrapper
Classes that should use Wrappers but are directly extending:
CompatDOMPartialViewContext extends PartialViewContext
DOMRenderKit extends RenderKit
ICEfacesResourceHandler extends ResourceHandler
ICEpushResourceHandler extends ResourceHandler
BasicResponseWriter extends ResponseWriter
DOMResponseWriter extends ResponseWriter