package org.apache.log4j.helpers;

abstract public class VersionHelper {
	
	private static VersionHelper helper;
	private static final String HELPER20_NAME = "org.apache.log4j.helpers.VersionHelper20";
	private static final String CHECK_CLASS   = "java.util.List";

	abstract public Class loadClass (String klass_name) throws ClassNotFoundException;
	
	public static VersionHelper getInstance () {
		if (helper == null) {
			  try {
				  // Try and load a class from JDK 1.2 or higher
				  Class.forName(CHECK_CLASS);
				  helper = (VersionHelper)Class.forName(HELPER20_NAME).newInstance(); }
			  catch (Exception oops) {
				  helper = new VersionHelper11();
			  }  	
		}
		return helper;
	}
}

