Renderer classes that extend InputLabelAndMessageRenderer don't provide
protected constructor with parameter FacesBean.TYPE
---------------------------------------------------------------------------------------------------------------------------
Key: TRINIDAD-631
URL: https://issues.apache.org/jira/browse/TRINIDAD-631
Project: MyFaces Trinidad
Issue Type: Bug
Reporter: Carsten Pieper
Detected this one for InputTextRenderer but it applies to all trinidadinternal
classes extending InputLabelAndMessageRenderer
These are:
InputColorRenderer
InputDateRenderer
InputFileRenderer
InputListOfValuesRenderer
InputNumberSpinboxRenderer
InputTextRenderer
SelectBooleanCheckboxRenderer
SelectBooleanRadioRenderer
SelectManyCheckboxRenderer
SelectManyListboxRenderer
SelectOneChoiceRenderer
SelectOneListboxRenderer
SelectOneRadioRenderer
Excerpts from
http://www.nabble.com/-Trinidad--Skinning---no-CSS-selector-for-tr%3AoutputText--tf4247489.html:
That's true, but for practical purposes we cannot pretend that people won't
make their own renderers using some features already present in trinidad-impl
since they help avoiding quite a lot of boilerplate code. Creating a new kind
of input component with a label and message is probably the most obvious case.
~ Simon
On 8/15/07, Adam Winer <[EMAIL PROTECTED]> wrote:
Strictly speaking, that's not really true... all of our renderers
are in trinidadinternal, which means that they're not really public
to the outside world, and their APIs can change arbitrarily from
release to release. So there's no guarantees of subclassabililty.
That said, I've got no problems adding the protected constructor,
but anyone subclassing the renderers has to know their code
can very well break any time they move to a newer version.
-- Adam
On 8/15/07, Simon Lessard <[EMAIL PROTECTED]> wrote:
> Hello Carsten,
>
> Wow... you're right... JIRA issue please. It should be possible to
override
> all of our renderers and failing to provide a protected constructor
> receiving a FacesBean.Type prevents that.
>
>
> Regards,
>
> ~ Simon
>
>
> On 8/15/07, Carsten Pieper < [EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> > Simon's advice works fine with me, except...
> > > The critical thing, which is easy to overlook, is that you
> > > have to pass your component's Type object to the Renderer
> > > superclasses constructor, which is what Simon's code is doing.
> >
> > I can't pass my component's Type object to the renderer superclass
> > because InputTextRenderer just has this one parameterless constructor:
> >
> > public InputTextRenderer()
> > {
> > super(CoreInputText.TYPE);
> > }
> >
> > Best regards,
> > Carsten
> >
> >
> > Adam Winer wrote:
> > >
> > > The critical thing, which is easy to overlook, is that you
> > > have to pass your component's Type object to the Renderer
> > > superclasses constructor, which is what Simon's code is doing.
> > >
> > > -- Adam
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.