public JavaCompiler createCompiler()

in core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompilerFactory.java [62:93]


    public JavaCompiler createCompiler(final String pHint) {

        final String className;
        if (pHint.indexOf('.') < 0) {
            final String javaCasing = ConversionUtils.toJavaCasing(pHint);
            className = "org.apache.commons.jci2.compiler." + javaCasing.toLowerCase(Locale.ROOT) + "." + javaCasing
                    + "JavaCompiler";
        } else {
            className = pHint;
        }

        Class<?> clazz = classCache.get(className);

        if (clazz == null) {
            try {
                clazz = Class.forName(className);
                classCache.put(className, clazz);
            } catch (final ClassNotFoundException e) {
                clazz = null;
            }
        }

        if (clazz == null) {
            return null;
        }

        try {
            return (JavaCompiler) clazz.getConstructor().newInstance();
        } catch (final Throwable t) {
            return null;
        }
    }