Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #12300

Re: Hairy generics question

From sclaflin@webucator.com
Newsgroups comp.lang.java.programmer
Subject Re: Hairy generics question
Date 2012-02-24 14:07 -0800
Organization http://groups.google.com
Message-ID <7822487.176.1330121248108.JavaMail.geo-discussion-forums@vbkl3> (permalink)
References <3c65271e-a388-49c9-bcc6-ca3bf274e74f@e27g2000vbu.googlegroups.com> <29108397.63.1330110725245.JavaMail.geo-discussion-forums@vbpw21> <ji8qfc$84a$1@news.albasani.net>

Show all headers | View raw


On Friday, February 24, 2012 3:03:56 PM UTC-5, Lew wrote:
> On 02/24/2012 11:12 AM, sclaflin wrote:

> Perhaps the circularity is necessary, but I've worked with my fellows on a few 
> hairy generics issues where circularity seemed necessary, and it never was. 
> Each time it turned out that an acyclic type graph did the trick, and better 
> than the initial circular approach.
> 
> Of course since you can't share any of the relevant details we have no way of 
> helping you see if there is an acyclic approach. Still, I cannot accept your 
> simple declaration that there isn't. The odds are just too strongly against it.
> 


Lew, 

You could well be right.  I based my structure on a framework that had Presenter<V> and View, but then the view didn't know how to talk to the presenter.  So, they add in ReverseView<P> separately.  I was trying to combine them both, and with those dual sorts of situations I've always ended up with circularity.

You guessed that I've got proprietary code that I can't share, and I'm supposed to be spending time on that, not general-purpose things.  But, if I can come up with a minimal but complete example, I'll post it. 

> > Unfortunately, when I tried to come up with a reduced set of declarations to post, I oversimplified and left out some of the nested parametrization.  And, when I went to put those back in, I realized the issue.  Once I lock in the base view, the V disappears.
> >
> > So, the real issue was not with the class that I found the error in, which was trying to use CompItemView, but in CompItemView itself, when I left in the V parameter.  It should be:
> >
> > public class CompItemView<
> > 	T extends CompInfo,
> > 	P extends AbstractCompItem<T, P, CompItemView<T, P>>>
> > extends AbstractCompItemView<T, P, CompItemView<T, P>>
> > implements CompItemViewInterface<T, P, CompItemView<T, P>>
> >
> > after removing the V from the CompItemView parametrization.
> 
> That's a step in circularity reduction. How is it necessary when your own 
> experience shows that its removal helped? I'm confused.
> 
I have minimal circularity in the classes that finally get instantiated -- it's the middle levels of concrete and abstract base classes that have the hairy generic stuff.  The intent of the particular code I posted was to reuse one view class for a number of presenters where the view could render the bean from its toString method.  But I've been operating under the belief that I would still need to have those circular mid-level classes available to extend matched views and presenters for unique cases.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Hairy generics question sclaflin <steve@steveclaflin.com> - 2012-02-21 06:30 -0800
  Re: Hairy generics question Lew <noone@lewscanon.com> - 2012-02-21 09:24 -0800
  Re: Hairy generics question Roedy Green <see_website@mindprod.com.invalid> - 2012-02-21 11:05 -0800
    Re: Hairy generics question Lew <noone@lewscanon.com> - 2012-02-21 12:09 -0800
  Re: Hairy generics question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-02-21 18:04 -0800
    Re: Hairy generics question Lew <noone@lewscanon.com> - 2012-02-21 18:31 -0800
    Re: Hairy generics question Steven Simpson <ss@domain.invalid> - 2012-02-22 08:31 +0000
  Re: Hairy generics question sclaflin@webucator.com - 2012-02-24 11:12 -0800
    Re: Hairy generics question Lew <noone@lewscanon.com> - 2012-02-24 12:03 -0800
      Re: Hairy generics question sclaflin@webucator.com - 2012-02-24 14:07 -0800
        Re: Hairy generics question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-02-24 15:36 -0800
          Re: Hairy generics question sclaflin@webucator.com - 2012-02-25 10:27 -0800
          Re: Hairy generics question Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-26 13:13 -0400
            What is Model View Presenter. (Was: Hairy generics question) Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-02-26 10:22 -0800
              Re: What is Model View Presenter. (Was: Hairy generics question) Lew <noone@lewscanon.com> - 2012-02-26 13:08 -0800
                Re: What is Model View Presenter. (Was: Hairy generics question) Arne Vajhøj <arne@vajhoej.dk> - 2012-02-26 18:17 -0500
                Re: What is Model View Presenter. (Was: Hairy generics question) sclaflin@webucator.com - 2012-02-28 06:22 -0800
            Re: Hairy generics question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-02-28 09:46 -0800
              Re: Hairy generics question Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-02-28 09:49 -0800
              Re: Hairy generics question Lew <noone@lewscanon.com> - 2012-02-28 12:45 -0800
              Re: Hairy generics question Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-02-29 19:37 -0400
                Re: Hairy generics question Lew <noone@lewscanon.com> - 2012-02-29 22:32 -0800

csiph-web