All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.codehaus.xfire.aegis.type.TypeCreatorFactory Maven / Gradle / Ivy

package org.codehaus.xfire.aegis.type;

import org.codehaus.xfire.util.ClassLoaderUtils;

/**
 * @author Tomasz Sztelak
 * Creates XMLTypeCreate for given jvm version ( support for Holder type )
 */
public class TypeCreatorFactory {
	
	
	static boolean isJDK5andAbove()
    {
        String v = System.getProperty("java.class.version", "44.0");
        return ("49.0".compareTo(v) <= 0);
    }
	
	public static AbstractTypeCreator  getTypeCreator(){
		
		if(isJDK5andAbove()){
			Class java5TypeCreator;
			try {
				java5TypeCreator = ClassLoaderUtils.loadClass("org.codehaus.xfire.aegis.type.java5.XMLTypeCreator", TypeCreatorFactory.class);
				return (AbstractTypeCreator ) java5TypeCreator.newInstance();
			} catch (ClassNotFoundException e) {
				// ignore all errors
			} catch (InstantiationException e) {
				
			} catch (IllegalAccessException e) {
				
			}
			
		}
		return new XMLTypeCreator();
		
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy