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


Groups > comp.lang.java.help > #1247

Re: Dynamic enums

From markspace <-@.>
Newsgroups comp.lang.java.help
Subject Re: Dynamic enums
Date 2011-10-12 07:46 -0700
Organization A noiseless patient Spider
Message-ID <j7498t$pcn$1@dont-email.me> (permalink)
References <4e94eeb1$0$16274$9a566e8b@news.aliant.net> <j72sn7$cl$1@dont-email.me> <j72t18$1u6$1@dont-email.me> <4e952d5d$0$14660$9a566e8b@news.aliant.net> <j73vgl$n1o$1@dont-email.me>

Show all headers | View raw


On 10/12/2011 4:58 AM, Eric Sosman wrote:

> Stepping back a bit, it's not clear to me why you need a separate
> data structure just to hold the keys. In your original post you wrote
> of pairings in "a table called foobar," matching A with 1, B with 2,
> and so forth. This sounds very much like a Map with entries {A,1},
> {B,2} and so on,


Because if the "enums" are dynamic, he needs someplace to store them. 
IF the database table lists enums as strings or ints, he needs a place 
to lookup up "A" or 1 and get the singleton class back that represents 
the enum.

Regular singleton:

class MyEnum {
   public static final MyEnum A = new MyEnum();
   public static final MyEnum B = new MyEnum();

   private MyEnum() {}
}

Dynamic:

class MyEnum {
   private MyEnum() {}

   private final HashMap enums = new HashMap();

   public void addEnum( String name ) {
     if( enums.get( name ) == null )
       enums.put( name, new MyEnum() );
   }

   public MyEnum getEnum( String name ) {
     return enums.get( name );
   }
}

Probably need some fields for getting the name of the enum or it's 
ordinal value, but that's how I see the out line of the dynamic part of 
the code.

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


Thread

Dynamic enums Linus Flustillbe <admin@nacs.dyndns-office.com> - 2011-10-12 01:34 +0000
  Re: Dynamic enums Lew <lewbloch@gmail.com> - 2011-10-11 19:03 -0700
  Re: Dynamic enums Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-10-11 22:05 -0400
    Re: Dynamic enums Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-10-11 22:11 -0400
      Re: Dynamic enums Linus Flustillbe <admin@nacs.dyndns-office.com> - 2011-10-12 06:02 +0000
        Re: Dynamic enums markspace <-@.> - 2011-10-11 23:44 -0700
        Re: Dynamic enums Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-10-12 07:58 -0400
          Re: Dynamic enums markspace <-@.> - 2011-10-12 07:46 -0700
  Re: Dynamic enums markspace <-@.> - 2011-10-11 19:32 -0700
  Re: Dynamic enums Roedy Green <see_website@mindprod.com.invalid> - 2011-10-12 07:02 -0700

csiph-web