posted 18 years ago
I am putting together an abstract Singelton, that will then have implementing classes. These classes should only need to override one method(Hence the Template Method) so that it all works for the specific implementation type.
So I have this abstract class
And here is an implementation class
Forget about the implementation of the loadData method, it is using Hibernate to do a search for me.
But notice the static initializer.
OK, so you might guess what I am trying to do, but I am having no luck. I am just missing something that probably is pretty easy.
I am trying to make a call to getInstance of the object, and it will return the Singleton instance. Now the class that is calling getInstance is doing so through Reflection because that class only knows its type as the abstract class type.
Here is my CacheFactory that will either return an instance of that type that exists in a Map it has, or will create a new one and add it to the Map.
The problem right now is that the loadLookup method calling the getInstance static method is returning null.
I obviously want to make sure that when you call getInstance on any type of AbstractLookup and there is no instance of that type yet, that it will create one, and call loadData().
What I am oblivious to?
Thanks
Mark