You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by George Christman <gc...@cardaddy.com> on 2012/08/24 01:24:21 UTC

Tapestry service with extended shared interface

Hello, I have yet another t5 service / interface question. 

So I have some ScrubberImpl services that implement Scrubber interface, the
Scrubber interface extends DataScubber. 

example

Service                                                  Interface
ScrubberOneImpl implements ScrubberOne | ScrubberOne extends DataScrubber
ScrubberTwoImpl implements ScrubberTwo | ScrubberTwo extends DataScrubber

I do it this way because I have to set some specific values to the impl


in my app module I'm Binding The ScrubberImpl to the Scrubber interface

example
        binder.bind(ScrubberOne.class, ScrubberOneImpl .class);
        binder.bind(ScrubberTwo.class, ScrubberTwoImpl .class);

DataScrubber has no Impl so I'm not binding it to anything. 

I'm trying to create a list that represents the DataScrubber interface

    List<DataScrubber> dataScrubbers;

and then add scrubberOne and scrubberTwo to the list. 

    dataScrubbers.add(scrubberOne);
    dataScrubbers.add(scrubberTwo );

So far everything has worked out well, but now comes the trouble. 

After the list has been built I think call a method that runs a for loop on
that list

Problem

public void setData(Data data) {
    for(DataScrubber dataScrubber : dataScrubbers) {
        I'm trying to loop through my list of data scrubbers and set a
value, however none of my data scrubbers that don't directly implement the
interface DataScrubber are ever accessed and the value is never set.
        dataScrubber.setSetSomeMethod(data);

    }
}

So my question is does my DataScrubber somehow need to be bound to my impl?

If I can't get it working with the class having it's own interface extending
DataScrubber, I have considered directly implementing DataScrubber on the
class and using @SessionState to get my values in my class. "Last ditch
effort though". However I started getting confused with how to bind multiple
class with the same interface. Not sure if withMarker is the intergace to
the class. 

Hopefully I explained this well enough to get some advice / help. 



--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-service-with-extended-shared-interface-tp5715776.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

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


Re: Tapestry service with extended shared interface

Posted by George Christman <gc...@cardaddy.com>.
nvm guys, I figured out my issue. At least I now know to share interfaces
though. 



--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-service-with-extended-shared-interface-tp5715776p5715779.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

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