Hi,

    Is it possible to have class inheritance without markup inheritance?

I would like a wicket-aware base class (with an associated markup file) with derived classes supplying data (e.g.. BaseClass with an 'abstract protected String getName()') and no markup files (or XML files). I know how to do that if the derived classes have markup and the base class markup has <wicket:child>, but cannot not figure out if it can be done without the child markup.

    So:

BaseClass.java (with abstract protected String getName(), and add(new Label("name", getName()));)
        BaseClass.html (with a <span wicket:id="name"></span>)
        BaseClass.xml

    and the derived classes which extend BaseClass:

DerivedClass1.java (with protected String getName() { return "Class1";}) DerivedClass2.java (with protected String getName() { return "Class2";})

Currently, Wicket is trying to apply markup inheritance, but since I don't have the markup for the derived classes I get:

org.apache.wicket.markup.MarkupNotFoundException: Markup of type 'html' for component 'com.xxxxx.DerivedClass1' not found. Enable debug messages for org.apache.wicket.util.resource to get a list of all filenames tried:

and

Caused by: org.apache.wicket.WicketRuntimeException: Expected to find <wicket:child/> in base markup

As a work around I can create a data supplier interface, implement the equivalent of the two derived classes and pass those in to my BaseClass, but the derived classes are simpler.

Thanks,
DC

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to