FileDocCategorySizeDatePackage
JavahAdapterFactory.javaAPI DocApache Ant 1.703109Wed Dec 13 06:16:18 GMT 2006org.apache.tools.ant.taskdefs.optional.javah

JavahAdapterFactory

public class JavahAdapterFactory extends Object
Creates the JavahAdapter based on the user choice and potentially the VM vendor.
since
Ant 1.6.3

Fields Summary
Constructors Summary
Methods Summary
public static JavahAdaptergetAdapter(java.lang.String choice, org.apache.tools.ant.ProjectComponent log)
Creates the JavahAdapter based on the user choice and potentially the VM vendor.

param
choice the user choice (if any).
param
log a ProjectComponent instance used to access Ant's logging system.
return
The adapter to use.
throws
BuildException if there is an error.

        if ((JavaEnvUtils.isKaffe() && choice == null)
            || Kaffeh.IMPLEMENTATION_NAME.equals(choice)) {
            return new Kaffeh();
        } else if (SunJavah.IMPLEMENTATION_NAME.equals(choice)) {
            return new SunJavah();
        } else if (choice != null) {
            return resolveClassName(choice);
        }

        // This default has been good enough until Ant 1.6.3, so stick
        // with it
        return new SunJavah();
    
public static java.lang.StringgetDefault()
Determines the default choice of adapter based on the VM vendor.

return
the default choice of adapter based on the VM vendor

        if (JavaEnvUtils.isKaffe()) {
            return Kaffeh.IMPLEMENTATION_NAME;
        }
        return SunJavah.IMPLEMENTATION_NAME;
    
private static JavahAdapterresolveClassName(java.lang.String className)
Tries to resolve the given classname into a javah adapter. Throws a fit if it can't.

param
className The fully qualified classname to be created.
throws
BuildException This is the fit that is thrown if className isn't an instance of JavahAdapter.

        return (JavahAdapter) ClasspathUtils.newInstance(className,
                JavahAdapterFactory.class.getClassLoader(), JavahAdapter.class);