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


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

static initializer not working

From mike <mikaelpetterson@hotmail.com>
Newsgroups comp.lang.java.programmer
Subject static initializer not working
Date 2012-04-20 05:10 -0700
Organization http://groups.google.com
Message-ID <2c2614fe-33a4-457e-a0c0-e44838caf220@m16g2000yqc.googlegroups.com> (permalink)

Show all headers | View raw


Hi,


I cannot get my registration of parser to work. When try to make a
call to get the registered parser:

PullParserFactory.instance().createParser(type);

I get a NullPointerException. When I debug I can see that the HashMap
is empty.

What am I missing?

br,

//mike

public class FindBugsParser implements AbstractPullParser{

// Register with Factory
	static {
		PullParserFactory.instance().registerParser(PluginImpl.FINDBUGS,
				new FindBugsParser());
	}

	public AbstractPullParser createParser() {
		return new FindBugsParser();
	}

}

public final class PullParserFactory {

	/**
	 * Single instance created upon class loading.
	 */
	private static  PullParserFactory INSTANCE = new PullParserFactory();

	private static final HashMap<String, AbstractPullParser>
registeredParsers = new HashMap<String, AbstractPullParser>();

	//no outside access.
	private PullParserFactory() {

	}

	public static PullParserFactory instance() {
		return INSTANCE;
	}

	public void registerParser(String type, AbstractPullParser parser) {
		registeredParsers.put(type, parser);
	}

	public AbstractPullParser createParser(String type) {

		return (AbstractPullParser) registeredParsers.get(type);
	}

}


Back to comp.lang.java.programmer | Previous | NextNext in thread | Find similar | Unroll thread


Thread

static initializer not working mike <mikaelpetterson@hotmail.com> - 2012-04-20 05:10 -0700
  Re: static initializer not working Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-20 08:42 -0400

csiph-web