Well of course they are "fancier" than, say, structs in C, simply
because they exist for a reason and can do things generic data
structures cannot. I'm familiar with them, have no trouble reading or
writing the syntax of them or understanding what they do, it's a
matter of using them enough that they leap more quickly to mind when
they're the appropriate tool for the job at hand. (As I did in the
case here, when I realized it made sense to have a wrapper that
contained the link as well as the "seperator" string to be stuck on
after during its display in an iteration.)

My experience with Java has been Model Two +, Struts, various APIs
(home grown and 3rd party) and (a mercifully brief time wrestling
with) EJBs. None of these made heavy use of anonymous inner classes.
Some of those were a bit procedural, but it still seems like, in
practice, it's mostly been Applets and other UI-ish things that that
made extremely frequent use of them.

Probably the most difficult grinding of gears, then, for someone who
gets the syntax and knows the basic concept in theory more than
practice, is the idea that it's reasonable to make small, single uses
class definitions (as opposed to setting properties on instances of
classes) for the task at hand and not worry that they can't or won't
be used elsewhere, just in the local file. On a surface level at
least, this goes against the grain of objects as reusable components
that should be first class objects (though obviously the trick can be
to make the appropriate first class objects that can then be
customized locally)

On 8/31/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> they are not "fancier" then generic data structures. they exist for a reason
> and can do things other generic data structures cannot. i suggest you read
> up on them, they are a pretty standard part of oop and are used throughout
> java - unless of course you have been living in a struts-like land where oop
> is replaced with procedural programming and you only use a small subset of
> java.
>
> -igor
>
>
> On 8/31/07, Kirk Israel <[EMAIL PROTECTED]> wrote:
> >
> > Well, that's a good point--
> > They aren't complex, per se, but they (and especially anonymous inner
> > classes) seem to show up a lot more in the class of programming of
> > which Applets and Wicket are both subsets than they do in most of the
> > rest of Java land. So they're a little less familiar to me, and I'm
> > not sure if they represent more complexity (given they're obviously
> > "fancier" than using more generic data structures in that they may be
> > doing arbitrarily complex things in their functions) or less (since
> > they live in the same .java file as the page, and can be nicely tuned
> > to handle the problem at hand).
> >
> > On 8/30/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > > heh, if you think inner classes are complex you are def using the wrong
> > > framework
> > >
> > > -igor
> > >
> > >
> > > On 8/30/07, Kirk Israel <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Ok, thanks...
> > > > I refactored what i had with this in mind. It was a little more
> > > > complicated because I want to delegate responsibility for generating
> > > > the link and caption to the page (some of our links our kind of
> > > > complex to promote lazy initialization), so the page is still calling
> > > > into static functions to know what id to give the caption and label.
> > > > Plus I had to create an additional class to hold that link plus the
> > > > seperator( to do the comma and "or" in something like "A, B or C")
> > > >
> > > > The list is then
> > > >
> > > >         add(new ListView("linklist", listSepLinks)
> > > >         {
> > > >             private static final long serialVersionUID = 0L;
> > > >                 public void populateItem(final ListItem listItem)
> > > >                 {
> > > >                         CaptionedLinkAndSeperator linkAndSep =
> > > > (CaptionedLinkAndSeperator)listItem.getModelObject();
> > > >                         listItem.add(linkAndSep.getPageLink());
> > > >                         listItem.add(new Label("sep",
> > > > linkAndSep.getSeperator()));
> > > >                 }
> > > >         });
> > > >
> > > > and the HTML is then
> > > >
> > > >   <span wicket:id="linklist">
> > > >             <a href="#" wicket:id="link" class="link"><span
> > > > wicket:id="caption">[LINK CAPTION]</span></a><span wicket:id =
> > > > "sep">[,]</span>
> > > >   </span>
> > > >
> > > > So, the complexity isn't too bad despite the inner class and it's less
> > > > kludgey than what i had earlier.
> > > >
> > > > Thanks.
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to