You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Thiago H. de Paula Figueiredo (JIRA)" <de...@tapestry.apache.org> on 2008/06/27 15:56:45 UTC

[jira] Created: (TAPESTRY-2487) Provide support for subclassing core components

Provide support for subclassing core components 
------------------------------------------------

                 Key: TAPESTRY-2487
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2487
             Project: Tapestry
          Issue Type: Improvement
          Components: tapestry-core
    Affects Versions: 5.0.13
            Reporter: Thiago H. de Paula Figueiredo


Almost all core Tapestry 5 components have all methods with package visibility, something that prevents subclassing them to build new functionality over already existing ones or to change some specify behaviour. 
Other related problem is access to parameters in subclasses, as they need to be private and the core components don't provide getters.
The only solution found by me and other people in the Tapestry mailing list is to copy the original component code and then apply the needed changes.

There is a discussion about this at http://www.nabble.com/-T5--About-core-components-subclassing-and-methods-with-package-visibility-to18104118.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Closed: (TAP5-173) Provide support for subclassing core components

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAP5-173.
-------------------------------------

    Resolution: Won't Fix

I'm afraid this is too vague to be fully actionable.  It would be useful in terms of specific components, and specific properties/parameters.

> Provide support for subclassing core components 
> ------------------------------------------------
>
>                 Key: TAP5-173
>                 URL: https://issues.apache.org/jira/browse/TAP5-173
>             Project: Tapestry 5
>          Issue Type: Improvement
>    Affects Versions: 5.0.15
>            Reporter: Thiago H. de Paula Figueiredo
>            Priority: Minor
>
> Almost all core Tapestry 5 components have all methods with package visibility, something that prevents subclassing them to build new functionality over already existing ones or to change some specify behaviour. 
> Other related problem is access to parameters in subclasses, as they need to be private and the core components don't provide getters.
> The only solution found by me and other people in the Tapestry mailing list is to copy the original component code and then apply the needed changes.
> There is a discussion about this at http://www.nabble.com/-T5--About-core-components-subclassing-and-methods-with-package-visibility-to18104118.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Updated: (TAPESTRY-2487) Provide support for subclassing core components

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2487?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAPESTRY-2487:
-------------------------------------------

    Priority: Minor  (was: Major)

Tapestry does provide a lot of this functionality via either Mixins or via standard composition.

When I create an entity-specific link component, I create a component with a template that contains a standard page link. If necessary, I make the page link inherit parameters from the container component.

The issue with making all those methods protected (instead of private/package private) is that just increases the surface area of code that needs to stay backwards compatible from release to release; that can ultimately hamstring our ability to add new features.  Eventually you'll start seeing "PageLink2" or "Palette3" components, as we have to version components.

> Provide support for subclassing core components 
> ------------------------------------------------
>
>                 Key: TAPESTRY-2487
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2487
>             Project: Tapestry
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Thiago H. de Paula Figueiredo
>            Priority: Minor
>
> Almost all core Tapestry 5 components have all methods with package visibility, something that prevents subclassing them to build new functionality over already existing ones or to change some specify behaviour. 
> Other related problem is access to parameters in subclasses, as they need to be private and the core components don't provide getters.
> The only solution found by me and other people in the Tapestry mailing list is to copy the original component code and then apply the needed changes.
> There is a discussion about this at http://www.nabble.com/-T5--About-core-components-subclassing-and-methods-with-package-visibility-to18104118.html.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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