class Page extends .... Page {

abstract Component getPart1(String id);
abstract Component getPart2(String id);

onBeforeRender() {
  if (get("part1")==null) { add(getPart1("part1")); }
  if (get("part2")==null) { add(getPart2("part1")); }
}}

in 1.5 it would be done like this

class Page extends .... Page {

abstract Component getPart1(String id);
abstract Component getPart2(String id);

onInitialize() {
  add(getPart1("part1"));
  add(getPart2("part1"));
}}

-igor

On Thu, Jul 8, 2010 at 2:23 PM, James Carman <ja...@carmanconsulting.com> wrote:
> And, this method doesn't really work very well either.  You can't
> reliably call those abstract methods from the superclass' constructor.
>
> On Thu, Jul 8, 2010 at 2:47 PM, Chris Colman
> <chr...@stepaheadsoftware.com> wrote:
>>>class Page extends .... Page {
>>>
>>>abstract Component getPart1();
>>>abstract Component getPart2();
>>>}
>>>
>>><html>....
>>>
>>><div wicket:id="id4part1" />
>>><wicket:child />
>>><div wicket:id="id4part2" />
>>
>> That's the component based workaround that I mentioned which IMHO isn't
>> really the pure markup OO solution we're proposing. I'm hoping for true
>> markup inheritance that supports multiple overridable sections that
>> doesn't mandate a Java side coding change each time a markup editor adds
>> or removes a particular overridable section.
>>
>>
>>>On Thu, Jul 8, 2010 at 5:49 AM, Chris Colman
>>><chr...@stepaheadsoftware.com>wrote:
>>>
>>>> >Search the list for this and you'll find some quite long
>> discussions.
>>>> >Basically, it's not going to happen. This would be multiple
>>>> inheritance,
>>>> >not single.
>>>>
>>>> Hi Jeremy, I hope I don't sound confrontationalist when I say this
>> but
>>>> this is clearly not a case of multiple inheritance.
>>>>
>>>> For this request to be deemed to be multiple inheritance one
>>>> class/markup file would need to be inheriting from two separate super
>>>> classes/markup files. That is not what is requested here. There
>> remains
>>>> only a single super class/markup file.
>>>>
>>>> All that is requested here is for multiple markup sections to be
>>>> overridden in this single inheritance scenario - just like Java does
>> not
>>>> restrict you to overriding only a single method in any Java class:
>> You
>>>> can override as many methods as you like in a Java class but that
>> does
>>>> not break Java's single inheritance model - which constrains the
>> number
>>>> of base classes to ONE, not the number of methods you can override to
>>>> ONE.
>>>>
>>>> All this user (and others before him) are asking is for wicket to
>>>> support the overriding of N markup sections without instead of the
>>>> arbitrarily imposed constraint of N <= 1.
>>>>
>>>> >
>>>> >Jeremy Thomerson
>>>> >-- sent from my smartphone - please excuse formatting and spelling
>>>> errors
>>>> >
>>>> >On Jul 5, 2010 12:41 AM, "Arjun Dhar" <dhar...@yahoo.com> wrote:
>>>> >
>>>> >
>>>> >Hi,
>>>> > all the examples etc suggest that Single inheritence is possible
>> but I
>>>> >cant
>>>> >break it up. The break up is essential when you want to merge common
>>>> parts
>>>> >of your MARKUP with multiple specific parts of the Child page.
>>>> >
>>>> >Example:
>>>> >
>>>> >
>>>> ><HTML>
>>>> ><HEAD><title>BASE TEMPLATE / PARENT PAGE</title></HEAD>
>>>> >
>>>> ><BODY>
>>>> >       <wicket:child />
>>>> >       <br />
>>>> >       <h2>Some other Html common</h2>
>>>> >       <wicket:child />
>>>> ></BODY>
>>>> ></HTML>
>>>> >
>>>> >
>>>> >-------------------------------------------
>>>> >
>>>> ><HTML>
>>>> ><HEAD><title>CHILD PAGE 1</title></HEAD>
>>>> >
>>>> ><BODY>
>>>> >       <wicket:extend>
>>>> >                   Part 1 specific to Child Page
>>>> >       </wicket:extend>
>>>> >       Any HTML here can be ignored as conceptually anyway what
>> appears
>>>> in
>>>> ><extend> is what should be rendered from a child page.
>>>> >       <wicket:extend>
>>>> >                   Part 2 Specific to Child Page (will appear after
>>>> common
>>>> >HTML in parent page)
>>>> >       </wicket:extend>
>>>> ></BODY>
>>>> ></HTML>
>>>> >
>>>> >
>>>> >I tried this, only the first part renders. I'm wondering if we can
>> add
>>>> such
>>>> >capability. Conceptually I don't see why not. If already possible do
>>>> let me
>>>> >know or consider as a feature request?!
>>>> >
>>>> >-Thanks Arjun
>>>> >--
>>>> >View this message in context:
>>>>
>>>http://apache-wicket.1842946.n4.nabble.com/Single-inheritence-in-parts-
>>>> >tp2278064p2278064.html
>>>> >Sent from the Wicket - User mailing list archive at Nabble.com.
>>>> >
>>>>
>>>---------------------------------------------------------------------
>>>> >To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> >For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to