You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Evan Rawson - Work <er...@americanadtrader.com> on 2007/08/02 22:29:56 UTC

T% : cant extend Page classes

hello.

i created a generic page which i want all of my other pages in my application to extend. This page controls various methods which all of my pages need to use. Event Listening methods (ie: onActivate, or any lifecycle annotation) does not work. I have to manually call the method and activate it on the extend page, not the root page which contains the method. 

I tried to manually implement the Page interface with the generic page which extends all of my other pages

public class genericPage implements Page {
.....
}

i get these errors


Severity and Description Path Resource Location Creation Time Id
The type ProtectedPage must implement the inherited abstract method Page.addLifecycleListener(PageLifecycleListener) dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313088
The type ProtectedPage must implement the inherited abstract method Page.attached() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313095
The type ProtectedPage must implement the inherited abstract method Page.createActionLink(ComponentPageElement, String, boolean, Object...) dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313096
The type ProtectedPage must implement the inherited abstract method Page.createPageLink(String, boolean, Object...) dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313089
The type ProtectedPage must implement the inherited abstract method Page.decrementDirtyCount() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313087
The type ProtectedPage must implement the inherited abstract method Page.detached() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313083
The type ProtectedPage must implement the inherited abstract method Page.getComponentElementByNestedId(String) dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313093
The type ProtectedPage must implement the inherited abstract method Page.getFieldChange(ComponentPageElement, String) dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313085
The type ProtectedPage must implement the inherited abstract method Page.getLocale() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313099
The type ProtectedPage must implement the inherited abstract method Page.getLog() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313090
The type ProtectedPage must implement the inherited abstract method Page.getLogicalName() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313094
The type ProtectedPage must implement the inherited abstract method Page.getRootComponent() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313091
The type ProtectedPage must implement the inherited abstract method Page.getRootElement() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313092
The type ProtectedPage must implement the inherited abstract method Page.incrementDirtyCount() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313097
The type ProtectedPage must implement the inherited abstract method Page.loaded() dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313098
The type ProtectedPage must implement the inherited abstract method Page.persistFieldChange(ComponentResources, String, Object) dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313086
The type ProtectedPage must implement the inherited abstract method Page.setRootElement(ComponentPageElement) dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.java line 20 1186086487400 313084


thanks
~evan

Re: T% : cant extend Page classes

Posted by Daniel Jue <te...@gmail.com>.
Or if you are making your own "base page" or "base component" class,
it goes in the /base directory instead of /pages or /components

i.e. for my reports I have /base/reports/AbstractReportPage.java
and my implementations of it go in /pages/....../ReportABC.java

I have my user's ASO and some Inject annotations in the abstract class
(I think it could be concrete without making a difference), and
everything works well in the pages that extend it.  I have not tried
page render cycle annotations in my base classes yet, but I don't see
how it would be different.

If you are in fact making your own generic page, I would make sure you
don't call it anything similar to the T5 internals, just for your own
sanity. =)

Also, I think having those kinds of classes in /base protects those
classes from the black-magic T5 does with classes found under /pages,
/mixins and /components.





On 8/2/07, Howard Lewis Ship <hl...@gmail.com> wrote:
> You create components, not pages.  You don't extend from Page.  That's an
> internal Tapestry interface.  Please read the tutorial.
>
> On 8/2/07, Evan Rawson - Work <er...@americanadtrader.com> wrote:
> >
> > hello.
> >
> > i created a generic page which i want all of my other pages in my
> > application to extend. This page controls various methods which all of my
> > pages need to use. Event Listening methods (ie: onActivate, or any lifecycle
> > annotation) does not work. I have to manually call the method and activate
> > it on the extend page, not the root page which contains the method.
> >
> > I tried to manually implement the Page interface with the generic page
> > which extends all of my other pages
> >
> > public class genericPage implements Page {
> > .....
> > }
> >
> > i get these errors
> >
> >
> > Severity and Description Path Resource Location Creation Time Id
> > The type ProtectedPage must implement the inherited abstract method
> > Page.addLifecycleListener(PageLifecycleListener)
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313088
> > The type ProtectedPage must implement the inherited abstract method
> > Page.attached() dma/src/main/java/com/americanadtrader/dma/services
> > ProtectedPage.java line 20 1186086487400 313095
> > The type ProtectedPage must implement the inherited abstract method
> > Page.createActionLink(ComponentPageElement, String, boolean, Object...)
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313096
> > The type ProtectedPage must implement the inherited abstract method
> > Page.createPageLink(String, boolean, Object...)
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313089
> > The type ProtectedPage must implement the inherited abstract method
> > Page.decrementDirtyCount()
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313087
> > The type ProtectedPage must implement the inherited abstract method
> > Page.detached() dma/src/main/java/com/americanadtrader/dma/services
> > ProtectedPage.java line 20 1186086487400 313083
> > The type ProtectedPage must implement the inherited abstract method
> > Page.getComponentElementByNestedId(String)
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313093
> > The type ProtectedPage must implement the inherited abstract method
> > Page.getFieldChange(ComponentPageElement, String)
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313085
> > The type ProtectedPage must implement the inherited abstract method
> > Page.getLocale() dma/src/main/java/com/americanadtrader/dma/services
> > ProtectedPage.java line 20 1186086487400 313099
> > The type ProtectedPage must implement the inherited abstract method
> > Page.getLog() dma/src/main/java/com/americanadtrader/dma/services
> > ProtectedPage.java line 20 1186086487400 313090
> > The type ProtectedPage must implement the inherited abstract method
> > Page.getLogicalName() dma/src/main/java/com/americanadtrader/dma/services
> > ProtectedPage.java line 20 1186086487400 313094
> > The type ProtectedPage must implement the inherited abstract method
> > Page.getRootComponent()
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313091
> > The type ProtectedPage must implement the inherited abstract method
> > Page.getRootElement() dma/src/main/java/com/americanadtrader/dma/services
> > ProtectedPage.java line 20 1186086487400 313092
> > The type ProtectedPage must implement the inherited abstract method
> > Page.incrementDirtyCount()
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313097
> > The type ProtectedPage must implement the inherited abstract method
> > Page.loaded() dma/src/main/java/com/americanadtrader/dma/services
> > ProtectedPage.java line 20 1186086487400 313098
> > The type ProtectedPage must implement the inherited abstract method
> > Page.persistFieldChange(ComponentResources, String, Object)
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313086
> > The type ProtectedPage must implement the inherited abstract method
> > Page.setRootElement(ComponentPageElement)
> > dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313084
> >
> >
> > thanks
> > ~evan
>
>
>
>
> --
> Howard M. Lewis Ship
> TWD Consulting, Inc.
> Independent J2EE / Open-Source Java Consultant
> Creator and PMC Chair, Apache Tapestry
> Creator, Apache HiveMind
>
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com
>

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


Re: T% : cant extend Page classes

Posted by Howard Lewis Ship <hl...@gmail.com>.
You create components, not pages.  You don't extend from Page.  That's an
internal Tapestry interface.  Please read the tutorial.

On 8/2/07, Evan Rawson - Work <er...@americanadtrader.com> wrote:
>
> hello.
>
> i created a generic page which i want all of my other pages in my
> application to extend. This page controls various methods which all of my
> pages need to use. Event Listening methods (ie: onActivate, or any lifecycle
> annotation) does not work. I have to manually call the method and activate
> it on the extend page, not the root page which contains the method.
>
> I tried to manually implement the Page interface with the generic page
> which extends all of my other pages
>
> public class genericPage implements Page {
> .....
> }
>
> i get these errors
>
>
> Severity and Description Path Resource Location Creation Time Id
> The type ProtectedPage must implement the inherited abstract method
> Page.addLifecycleListener(PageLifecycleListener)
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313088
> The type ProtectedPage must implement the inherited abstract method
> Page.attached() dma/src/main/java/com/americanadtrader/dma/services
> ProtectedPage.java line 20 1186086487400 313095
> The type ProtectedPage must implement the inherited abstract method
> Page.createActionLink(ComponentPageElement, String, boolean, Object...)
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313096
> The type ProtectedPage must implement the inherited abstract method
> Page.createPageLink(String, boolean, Object...)
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313089
> The type ProtectedPage must implement the inherited abstract method
> Page.decrementDirtyCount()
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313087
> The type ProtectedPage must implement the inherited abstract method
> Page.detached() dma/src/main/java/com/americanadtrader/dma/services
> ProtectedPage.java line 20 1186086487400 313083
> The type ProtectedPage must implement the inherited abstract method
> Page.getComponentElementByNestedId(String)
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313093
> The type ProtectedPage must implement the inherited abstract method
> Page.getFieldChange(ComponentPageElement, String)
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313085
> The type ProtectedPage must implement the inherited abstract method
> Page.getLocale() dma/src/main/java/com/americanadtrader/dma/services
> ProtectedPage.java line 20 1186086487400 313099
> The type ProtectedPage must implement the inherited abstract method
> Page.getLog() dma/src/main/java/com/americanadtrader/dma/services
> ProtectedPage.java line 20 1186086487400 313090
> The type ProtectedPage must implement the inherited abstract method
> Page.getLogicalName() dma/src/main/java/com/americanadtrader/dma/services
> ProtectedPage.java line 20 1186086487400 313094
> The type ProtectedPage must implement the inherited abstract method
> Page.getRootComponent()
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313091
> The type ProtectedPage must implement the inherited abstract method
> Page.getRootElement() dma/src/main/java/com/americanadtrader/dma/services
> ProtectedPage.java line 20 1186086487400 313092
> The type ProtectedPage must implement the inherited abstract method
> Page.incrementDirtyCount()
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313097
> The type ProtectedPage must implement the inherited abstract method
> Page.loaded() dma/src/main/java/com/americanadtrader/dma/services
> ProtectedPage.java line 20 1186086487400 313098
> The type ProtectedPage must implement the inherited abstract method
> Page.persistFieldChange(ComponentResources, String, Object)
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313086
> The type ProtectedPage must implement the inherited abstract method
> Page.setRootElement(ComponentPageElement)
> dma/src/main/java/com/americanadtrader/dma/services ProtectedPage.javaline 20 1186086487400 313084
>
>
> thanks
> ~evan




-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com