Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #26547
| From | Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Fixing "typos" in enums... |
| Date | 2013-11-18 20:09 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <slrnl8ksvr.42s.avl@gamma.logic.tuwien.ac.at> (permalink) |
| References | <slrnl8cing.mol.avl@gamma.logic.tuwien.ac.at> <l67d4o$7bl$1@news.albasani.net> <slrnl8kmsm.42s.avl@gamma.logic.tuwien.ac.at> <l6dn7i$i9a$1@dont-email.me> |
Eric Sosman <esosman@comcast-dot-net.invalid> wrote: > On 11/18/2013 1:25 PM, Andreas Leitgeb wrote: >> It would be nice, if enum had the concept of synonyms: >> <dream-mode> >> - each synonym is an alias for a particular constant >> - synonyms would be recognized by valueOf(String) >> - synonyms could be annotated as @Deprecated >> - synonyms could be used in a switch, but then the >> canonical name (or any other synonym for the same >> constant) must not be used in the same switch. >> </dream-mode> >> Well, I know it's not going to happen. Just wanted it off my chest ;-) > It'd make a mess of EnumMaps, too ... Nope, don't see what you mean here. The synonyms wouldn't be separate extra instances, of course, so by the time I'm holding an instance, its .name() is the canonical one. Also, if "C" is a canonical constant of enum Foo, and "S" a synonym of "C" in Foo, then (Foo.S==Foo.C) would be true. Part of that "extension" can be mimicked by creating a static final field in the enum by synonym's name initialized to its canonical meaning. Maybe valueOf() for a particular enum could be patched by means of bytecode "instrumentation" to fall back to some HashMap<String,Foo> of synonyms, if canonical name lookup fails. Not sure, if the bytecode verifier would accept thusly patched valueOf() implementations upon loading Foo.class Unfortunately, it is not feasible to hook into the compiler to make it accept arbitrary static final fields of the enum as switch case-labels. > I don't think there's any single Right Way to address your > problem, no one-size-fits-all solution. Elsethread it's written > that a published API is "set in stone," but there are many kinds > of stone. Of all posters to this thread, only you know whether > the stone is obsidian or talc; only you know how hard a tool is > required to scratch it. Nice parable :) Yep, there's some material analysis ahead.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-15 16:25 +0000
Re: Fixing "typos" in enums... markspace <markspace@nospam.nospam> - 2013-11-15 09:05 -0800
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-18 17:20 +0000
Re: Fixing "typos" in enums... markspace <markspace@nospam.nospam> - 2013-11-18 09:33 -0800
Re: Fixing "typos" in enums... Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-11-18 13:37 -0500
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-18 18:58 +0000
Re: Fixing "typos" in enums... markspace <markspace@nospam.nospam> - 2013-11-18 11:35 -0800
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-18 20:34 +0000
Re: Fixing "typos" in enums... Robert Klemme <shortcutter@googlemail.com> - 2013-11-15 20:10 +0100
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-18 17:29 +0000
Re: Fixing "typos" in enums... Robert Klemme <shortcutter@googlemail.com> - 2013-11-18 19:38 +0100
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-18 19:34 +0000
Re: Fixing "typos" in enums... Jan Burse <janburse@fastmail.fm> - 2013-11-16 10:16 +0100
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-18 18:25 +0000
Re: Fixing "typos" in enums... Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-11-18 13:45 -0500
Re: Fixing "typos" in enums... Robert Klemme <shortcutter@googlemail.com> - 2013-11-18 20:20 +0100
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-18 20:09 +0000
Re: Fixing "typos" in enums... Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-11-18 17:00 -0500
Re: Fixing "typos" in enums... Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-11-19 15:39 +0000
Re: Fixing "typos" in enums... Arivald <NOSPAMarivald@interia.pl> - 2013-11-19 00:29 +0100
Re: Fixing "typos" in enums... lipska the kat <"lipskathekat at yahoo dot co dot uk"> - 2013-11-19 11:14 +0000
csiph-web