Hi Mark,
This not part of WO, possibly due to concerns about efficiency and
optimization (see JavaDoc below). You can add a method to your
component (or better, to a custom super class) to achieve this:
/**
* Allows a component to "inherit" the template (.html and .wod
files) from another component.
* <p>Usage:</p>
* <pre>
* public WOElement template() {
* return inheritTemplateFrom("AddAddress", "CoreUI");
* }
* </pre>
* This very simple implementation does have some limitations:
* <ol>
* <li>It can't he used to inherit the template of another
component inheriting a template.</li>
* <li>It can't handle having two components with the same name
in different packages</li>
* <li>It does not use WO template caching</li>
* </ol>
*
* @see com.webobjects.appserver.WOComponent#template()
*
* @param componentName the name of the component whose template
will be inherited
* @param frameworkName name of the framework the component is
in, or null if in the application
* @return the template form the indicated component
*/
public WOElement inheritTemplateFrom(String componentName, String
frameworkName)
{
String componentPath = componentName + ".wo/" + componentName
+ ".";
String htmlString =
ResourceManagerAdditions.stringFromResource(componentPath + "html",
null, session().languages());
String wodString =
ResourceManagerAdditions.stringFromResource(componentPath + "wod",
null, session().languages());
return WOComponent.templateWithHTMLString(htmlString,
wodString, session().languages());
}
Enjoy!
Chuck
On Jan 2, 2010, at 6:20 PM, Mark Woollard wrote:
Maybe expanding will make things clearer...
There is a base component FieldEditor which does in-place editing
using the AjaxInPlace component + 2 ERXWOTemplate instances for the
edit and view modes. I then am wanting to derive from this to create
StringFieldEditor / IntegerFieldEditor / etc that specialize the
java to provide view and edit values in different ways as required.
The html in FieldEditor component doesn't need to change, and it
doesn't make sense to me to have multiple copies in the derived
classes. What I'd like to happen is the base class html be used and
the overridden getter methods in the derived java class provide the
data for display. Is this an approach that applicable to WO? If not
how would this be approached to limit duplication of code / html?
Thanks
Mark
On 3 Jan 2010, at 02:04, Andrew Lindesay wrote:
Hi Mark;
If I understand you correctly, I would typically create smaller re-
usable components to put into two different larger components.
cheers.
I have a component (java/html/api/woo/wod) and want to create a
derived component that specialises some of the java functionality,
but doesn't need to modify the html of the base component. I can't
figure out how to get the derived component to return the base
class html since the derived classes just extend the java class.
___
Andrew Lindesay
www.lindesay.co.nz
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
This email sent to ch...@global-village.net
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to arch...@mail-archive.com