You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by "Filip S. Adamsen" <fi...@stubkjaer-adamsen.dk> on 2004/07/01 14:56:57 UTC

Feature request for 3.1: Add component specification inheritance

Hi Luca,

I posted a similar proposal a while ago:

http://marc.theaimsgroup.com/?l=tapestry-user&w=2&r=1&s=Page+Specification+I
nheritance&q=b

The subject was _page_ specification inheritance, but should have been
_component_ specification inheritance, since pages are components. I'm not
sure that the "abstract" attribute I mentioned would actually be useful.
Overall, we seem to agree on a possible "syntax", though I favour "extends"
over "extend".

-Filip S. Adamsen

> -----Original Message-----
> From: Luca De Petrillo [mailto:luca.depetrillo@websiteitalia.com]
> Sent: Thursday, July 01, 2004 9:49 AM
> To: 'Tapestry users'
> Subject: Feature request for 3.1.
> 
> 
> Hi to all!
> 
> I've a feature request for Tapestry 3.1:
> 
> Is possible to make template and component specification extensible?
> 
> I've noticed that a lot of time, I need to extend existing components to
> add
> new features, and, for do this, I need to make a Copy&Paste operation for
> the template e component specification.
> 
> Is possible to add (at least for the component specification), an
> attribute
> that specify from what component it extend?
> 
> Example:
> 
> <component-specification
> class="com.websiteitalia.tapestry.wscomponents.table.Table"
> 	extend="contrib:Table">
> 
> 	<component id="tableColumns" type="WSTableColumns">
> 		<inherited-binding name="column" parameter-
> name="column"/>
> 		<inherited-binding name="class"
> parameter-name="columnsClass"/>
> 		<inherited-binding name="arrowUpAsset"
> parameter-name="arrowUpAsset"/>
> 		<inherited-binding name="arrowDownAsset"
> parameter-name="arrowDownAsset"/>
> 	</component>
> </component-specification>
> 
> (in this case, I need to extend the contrib:Table component, to redefine
> the
> tableColumns id component used in template).
> 
> A good thing could be the use of the extended component template if none
> is
> defined for the extending one (maybe using another attribute like
> "use-extended-template").
> 
> Bye!
> 
> Luca De Petrillo
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


R: Feature request for 3.1: Add component specification inheritance

Posted by Luca De Petrillo <lu...@websiteitalia.com>.
Ops, I've not read your posts... and for syntax, you are right, "extends" is
more correct than "extend".

The abstract attribute could be usefull for declare a specification file
"not directly usable" (or maybe to specify a skeleton specification, like an
interface or an abstract class), but I don't know how much this could be
usefull.

However an extension mechanism would be really good :D!
This will help to keep specification files clear, and will permit to build
specialized sub-components, starting from a generic one (an example could be
a Tree component, that, starting from the base component, a developer could
make a TableTree, OrderedTree, LinedTree, MenuTree, and so on).

BYE!

Luca De Petrillo

-----Messaggio originale-----
Da: Filip S. Adamsen [mailto:filip@stubkjaer-adamsen.dk]
Inviato: giovedi 1 luglio 2004 14.57
A: 'Tapestry users'
Oggetto: Feature request for 3.1: Add component specification inheritance

Hi Luca,

I posted a similar proposal a while ago:

http://marc.theaimsgroup.com/?l=tapestry-user&w=2&r=1&s=Page+Specification+I
nheritance&q=b

The subject was _page_ specification inheritance, but should have been
_component_ specification inheritance, since pages are components. I'm not
sure that the "abstract" attribute I mentioned would actually be useful.
Overall, we seem to agree on a possible "syntax", though I favour "extends"
over "extend".

-Filip S. Adamsen

> -----Original Message-----
> From: Luca De Petrillo [mailto:luca.depetrillo@websiteitalia.com]
> Sent: Thursday, July 01, 2004 9:49 AM
> To: 'Tapestry users'
> Subject: Feature request for 3.1.
>
>
> Hi to all!
>
> I've a feature request for Tapestry 3.1:
>
> Is possible to make template and component specification extensible?
>
> I've noticed that a lot of time, I need to extend existing components to
> add
> new features, and, for do this, I need to make a Copy&Paste operation for
> the template e component specification.
>
> Is possible to add (at least for the component specification), an
> attribute
> that specify from what component it extend?
>
> Example:
>
> <component-specification
> class="com.websiteitalia.tapestry.wscomponents.table.Table"
> 	extend="contrib:Table">
>
> 	<component id="tableColumns" type="WSTableColumns">
> 		<inherited-binding name="column" parameter-
> name="column"/>
> 		<inherited-binding name="class"
> parameter-name="columnsClass"/>
> 		<inherited-binding name="arrowUpAsset"
> parameter-name="arrowUpAsset"/>
> 		<inherited-binding name="arrowDownAsset"
> parameter-name="arrowDownAsset"/>
> 	</component>
> </component-specification>
>
> (in this case, I need to extend the contrib:Table component, to redefine
> the
> tableColumns id component used in template).
>
> A good thing could be the use of the extended component template if none
> is
> defined for the extending one (maybe using another attribute like
> "use-extended-template").
>
> Bye!
>
> Luca De Petrillo
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org