PROPOSAL: Method and Field Literals (original) (raw)
David Goodenough david.goodenough at linkchoose.co.uk
Thu Mar 12 07:44:18 PDT 2009
- Previous message: PROPOSAL: Method and Field Literals
- Next message: PROPOSAL: Method and Field Literals
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thursday 12 March 2009, Roel Spilker wrote:
About the remaining 4000: the search did not take into account that the proposal could only be used in cases where you now use a String literal. The search also gives results for invocations with a String variable, for instance names that are read from a configuration file. So that will remove some more.
Secondly, the proposal only allows Field and Method literals that are visible to the caller. But my experience is that I use reflection often to access private members of other classes. So more false positives in the search results. My Lightweight Properties proposal allows access to all Fields, and so uses getDeclaredField to find them. It makes the assumption that while the field might be private, it should follow the presumption that had you written your own getter and setter you would have made it public and therefore sets the bit in the Field object that allows access.
It does not however cover Methods.
David
Roel
On Thu, Mar 12, 2009 at 8:14 AM, Reinier Zwitserloot <_ _reinier at zwitserloot.com> wrote: > with getField, I only see 834 results. > > A search for "finally in.close", which only covers a small slice of > ARM's bailiwick returns ~31100 results. > > A -lot- of the method literals in that google code search result > involve checking if a certain method exists in a certain class. I > would assume the module system takes care of most of these calls (as > its effectively a version check). That should take care of about 3000 > of those 7000 already. > > --Reinier Zwitserloot > > On Mar 12, 2009, at 08:05, Jesse Wilson wrote: > > On Wed, Mar 11, 2009 at 9:48 PM, Reinier Zwitserloot <_ _> > reinier at zwitserloot.com > > > > wrote: > > > > What's this useful for, exactly? Can anyone name me one non-exotic > > use-case? > > > > In Glazed Lists we have an interface called TableFormat that maps a > > value object to its columns for a table. A concise API to access > > methods would be convenient: > > TableFormat songsTableFormat = new TableFormat.Builder() > > .addColumn("Name", Song#getSongName()) > > .addColumn("Track #", Song#getTrackNumber()) > > .addColumn("Artist", Song#getArtist()) > > .addColumn("Album", Song#getAlbum()) > > .build(); > > > > Google Code Search suggests another 7,000 immediate candidates: > > http://www.google.com/codesearch?hl=en&lr=&q=%5C.class%5C.getMethod%5C%28 >%5C%22&sbtn=Search > > > This includes code from Apache HTTP client, Log4J, Ant, JPA, SwingX, > > EJB, SAX, Google Collections, GWT, Hibernate, Seam, MySQL, Equinox, > > Eclipse... you name it.
- Previous message: PROPOSAL: Method and Field Literals
- Next message: PROPOSAL: Method and Field Literals
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]