sun.tools.java.ClassPath Java Examples

The following examples show how to use sun.tools.java.ClassPath. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Main.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #2
Source File: Main.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #3
Source File: Main.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #4
Source File: Main.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #5
Source File: Main.java    From jdk8u-dev-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #6
Source File: Main.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #7
Source File: Main.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #8
Source File: Main.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #9
Source File: Main.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #10
Source File: Main.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #11
Source File: Main.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #12
Source File: Main.java    From jdk8u_jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * Get the correct type of BatchEnvironment
 */
public BatchEnvironment getEnv() {

    ClassPath classPath =
        BatchEnvironment.createClassPath(classPathString,
                                         sysClassPathArg,
                                         extDirsArg);
    BatchEnvironment result = null;
    try {
        Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
        Object[] ctorArgs = {out,classPath,this};
        Constructor<? extends BatchEnvironment> constructor =
            environmentClass.getConstructor(ctorArgTypes);
        result =  constructor.newInstance(ctorArgs);
        result.reset();
    }
    catch (Exception e) {
        error("rmic.cannot.instantiate",environmentClass.getName());
    }
    return result;
}
 
Example #13
Source File: BatchEnvironment.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a ClassPath object for rmic from a class path string.
 */
public static ClassPath createClassPath(String classPathString) {
    ClassPath[] paths = classPaths(null, classPathString, null, null);
    return paths[1];
}
 
Example #14
Source File: BatchEnvironment.java    From dragonwell8_jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Get the ClassPath.
 */
public ClassPath getClassPath() {
    return binaryPath;
}
 
Example #15
Source File: BatchEnvironment.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a BatchEnvironment for rmic with the given class path,
 * stream for messages and Main.
 */
public BatchEnvironment(OutputStream out, ClassPath path, Main main) {

    super(out,path,main);

    // Make sure we have our definitions...

    try {
        defRemote =
            getClassDeclaration(idRemote).getClassDefinition(this);
        defError =
            getClassDeclaration(idJavaLangError).getClassDefinition(this);
        defException =
            getClassDeclaration(idJavaLangException).getClassDefinition(this);
        defRemoteException =
            getClassDeclaration(idRemoteException).getClassDefinition(this);
        defCorbaObject =
            getClassDeclaration(idCorbaObject).getClassDefinition(this);
        defSerializable =
            getClassDeclaration(idJavaIoSerializable).getClassDefinition(this);
        defRuntimeException =
            getClassDeclaration(idJavaLangRuntimeException).getClassDefinition(this);
        defExternalizable =
            getClassDeclaration(idJavaIoExternalizable).getClassDefinition(this);
        defThrowable=
            getClassDeclaration(idJavaLangThrowable).getClassDefinition(this);
        defIDLEntity=
            getClassDeclaration(idIDLEntity).getClassDefinition(this);
        defValueBase=
            getClassDeclaration(idValueBase).getClassDefinition(this);
        typeRemoteException = defRemoteException.getClassDeclaration().getType();
        typeException = defException.getClassDeclaration().getType();
        typeIOException = getClassDeclaration(idJavaIoIOException).getType();
        typeThrowable = getClassDeclaration(idJavaLangThrowable).getType();

        classPathLoader = new ClassPathLoader(path);

    } catch (ClassNotFound e) {
        error(0, "rmic.class.not.found", e.name);
        throw new Error();
    }
}
 
Example #16
Source File: ClassPathLoader.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
public ClassPathLoader(ClassPath classPath) {
    this.classPath = classPath;
}
 
Example #17
Source File: BatchEnvironment.java    From dragonwell8_jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a ClassPath object for rmic from the relevant command line
 * options for class path, boot class path, and extension directories.
 */
public static ClassPath createClassPath(String classPathString,
                                        String sysClassPathString,
                                        String extDirsString)
{
    /**
     * Previously, this method delegated to the
     * sun.tools.javac.BatchEnvironment.classPaths method in order
     * to supply default values for paths not specified on the
     * command line, expand extensions directories into specific
     * JAR files, and construct the ClassPath object-- but as part
     * of the fix for 6473331, which adds support for Class-Path
     * manifest entries in JAR files, those steps are now handled
     * here directly, with the help of a Path utility class copied
     * from the new javac implementation (see below).
     */
    Path path = new Path();

    if (sysClassPathString == null) {
        sysClassPathString = System.getProperty("sun.boot.class.path");
    }
    if (sysClassPathString != null) {
        path.addFiles(sysClassPathString);
    }

    /*
     * Class-Path manifest entries are supported for JAR files
     * everywhere except in the boot class path.
     */
    path.expandJarClassPaths(true);

    if (extDirsString == null) {
        extDirsString = System.getProperty("java.ext.dirs");
    }
    if (extDirsString != null) {
        path.addDirectories(extDirsString);
    }

    /*
     * In the application class path, an empty element means
     * the current working directory.
     */
    path.emptyPathDefault(".");

    if (classPathString == null) {
        // The env.class.path property is the user's CLASSPATH
        // environment variable, and it set by the wrapper (ie,
        // javac.exe).
        classPathString = System.getProperty("env.class.path");
        if (classPathString == null) {
            classPathString = ".";
        }
    }
    path.addFiles(classPathString);

    return new ClassPath(path.toArray(new String[path.size()]));
}
 
Example #18
Source File: BatchEnvironment.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Get the ClassPath.
 */
public ClassPath getClassPath() {
    return binaryPath;
}
 
Example #19
Source File: BatchEnvironment.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a BatchEnvironment for rmic with the given class path,
 * stream for messages and Main.
 */
public BatchEnvironment(OutputStream out, ClassPath path, Main main) {
    super(out, new ClassPath(""), path);
                            // use empty "sourcePath" (see 4666958)
    this.main = main;
}
 
Example #20
Source File: BatchEnvironment.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a ClassPath object for rmic from the relevant command line
 * options for class path, boot class path, and extension directories.
 */
public static ClassPath createClassPath(String classPathString,
                                        String sysClassPathString,
                                        String extDirsString)
{
    /**
     * Previously, this method delegated to the
     * sun.tools.javac.BatchEnvironment.classPaths method in order
     * to supply default values for paths not specified on the
     * command line, expand extensions directories into specific
     * JAR files, and construct the ClassPath object-- but as part
     * of the fix for 6473331, which adds support for Class-Path
     * manifest entries in JAR files, those steps are now handled
     * here directly, with the help of a Path utility class copied
     * from the new javac implementation (see below).
     */
    Path path = new Path();

    if (sysClassPathString == null) {
        sysClassPathString = System.getProperty("sun.boot.class.path");
    }
    if (sysClassPathString != null) {
        path.addFiles(sysClassPathString);
    }

    /*
     * Class-Path manifest entries are supported for JAR files
     * everywhere except in the boot class path.
     */
    path.expandJarClassPaths(true);

    if (extDirsString == null) {
        extDirsString = System.getProperty("java.ext.dirs");
    }
    if (extDirsString != null) {
        path.addDirectories(extDirsString);
    }

    /*
     * In the application class path, an empty element means
     * the current working directory.
     */
    path.emptyPathDefault(".");

    if (classPathString == null) {
        // The env.class.path property is the user's CLASSPATH
        // environment variable, and it set by the wrapper (ie,
        // javac.exe).
        classPathString = System.getProperty("env.class.path");
        if (classPathString == null) {
            classPathString = ".";
        }
    }
    path.addFiles(classPathString);

    return new ClassPath(path.toArray(new String[path.size()]));
}
 
Example #21
Source File: BatchEnvironment.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a ClassPath object for rmic from a class path string.
 */
public static ClassPath createClassPath(String classPathString) {
    ClassPath[] paths = classPaths(null, classPathString, null, null);
    return paths[1];
}
 
Example #22
Source File: ClassPathLoader.java    From TencentKona-8 with GNU General Public License v2.0 4 votes vote down vote up
public ClassPathLoader(ClassPath classPath) {
    this.classPath = classPath;
}
 
Example #23
Source File: BatchEnvironment.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a BatchEnvironment for rmic with the given class path,
 * stream for messages and Main.
 */
public BatchEnvironment(OutputStream out, ClassPath path, Main main) {

    super(out,path,main);

    // Make sure we have our definitions...

    try {
        defRemote =
            getClassDeclaration(idRemote).getClassDefinition(this);
        defError =
            getClassDeclaration(idJavaLangError).getClassDefinition(this);
        defException =
            getClassDeclaration(idJavaLangException).getClassDefinition(this);
        defRemoteException =
            getClassDeclaration(idRemoteException).getClassDefinition(this);
        defCorbaObject =
            getClassDeclaration(idCorbaObject).getClassDefinition(this);
        defSerializable =
            getClassDeclaration(idJavaIoSerializable).getClassDefinition(this);
        defRuntimeException =
            getClassDeclaration(idJavaLangRuntimeException).getClassDefinition(this);
        defExternalizable =
            getClassDeclaration(idJavaIoExternalizable).getClassDefinition(this);
        defThrowable=
            getClassDeclaration(idJavaLangThrowable).getClassDefinition(this);
        defIDLEntity=
            getClassDeclaration(idIDLEntity).getClassDefinition(this);
        defValueBase=
            getClassDeclaration(idValueBase).getClassDefinition(this);
        typeRemoteException = defRemoteException.getClassDeclaration().getType();
        typeException = defException.getClassDeclaration().getType();
        typeIOException = getClassDeclaration(idJavaIoIOException).getType();
        typeThrowable = getClassDeclaration(idJavaLangThrowable).getType();

        classPathLoader = new ClassPathLoader(path);

    } catch (ClassNotFound e) {
        error(0, "rmic.class.not.found", e.name);
        throw new Error();
    }
}
 
Example #24
Source File: ClassPathLoader.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
public ClassPathLoader(ClassPath classPath) {
    this.classPath = classPath;
}
 
Example #25
Source File: BatchEnvironment.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Get the ClassPath.
 */
public ClassPath getClassPath() {
    return binaryPath;
}
 
Example #26
Source File: BatchEnvironment.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a BatchEnvironment for rmic with the given class path,
 * stream for messages and Main.
 */
public BatchEnvironment(OutputStream out, ClassPath path, Main main) {
    super(out, new ClassPath(""), path);
                            // use empty "sourcePath" (see 4666958)
    this.main = main;
}
 
Example #27
Source File: BatchEnvironment.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a ClassPath object for rmic from the relevant command line
 * options for class path, boot class path, and extension directories.
 */
public static ClassPath createClassPath(String classPathString,
                                        String sysClassPathString,
                                        String extDirsString)
{
    /**
     * Previously, this method delegated to the
     * sun.tools.javac.BatchEnvironment.classPaths method in order
     * to supply default values for paths not specified on the
     * command line, expand extensions directories into specific
     * JAR files, and construct the ClassPath object-- but as part
     * of the fix for 6473331, which adds support for Class-Path
     * manifest entries in JAR files, those steps are now handled
     * here directly, with the help of a Path utility class copied
     * from the new javac implementation (see below).
     */
    Path path = new Path();

    if (sysClassPathString == null) {
        sysClassPathString = System.getProperty("sun.boot.class.path");
    }
    if (sysClassPathString != null) {
        path.addFiles(sysClassPathString);
    }

    /*
     * Class-Path manifest entries are supported for JAR files
     * everywhere except in the boot class path.
     */
    path.expandJarClassPaths(true);

    if (extDirsString == null) {
        extDirsString = System.getProperty("java.ext.dirs");
    }
    if (extDirsString != null) {
        path.addDirectories(extDirsString);
    }

    /*
     * In the application class path, an empty element means
     * the current working directory.
     */
    path.emptyPathDefault(".");

    if (classPathString == null) {
        // The env.class.path property is the user's CLASSPATH
        // environment variable, and it set by the wrapper (ie,
        // javac.exe).
        classPathString = System.getProperty("env.class.path");
        if (classPathString == null) {
            classPathString = ".";
        }
    }
    path.addFiles(classPathString);

    return new ClassPath(path.toArray(new String[path.size()]));
}
 
Example #28
Source File: BatchEnvironment.java    From jdk8u-dev-jdk with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Get the ClassPath.
 */
public ClassPath getClassPath() {
    return binaryPath;
}
 
Example #29
Source File: BatchEnvironment.java    From TencentKona-8 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a BatchEnvironment for rmic with the given class path,
 * stream for messages and Main.
 */
public BatchEnvironment(OutputStream out, ClassPath path, Main main) {
    super(out, new ClassPath(""), path);
                            // use empty "sourcePath" (see 4666958)
    this.main = main;
}
 
Example #30
Source File: BatchEnvironment.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Create a ClassPath object for rmic from the relevant command line
 * options for class path, boot class path, and extension directories.
 */
public static ClassPath createClassPath(String classPathString,
                                        String sysClassPathString,
                                        String extDirsString)
{
    /**
     * Previously, this method delegated to the
     * sun.tools.javac.BatchEnvironment.classPaths method in order
     * to supply default values for paths not specified on the
     * command line, expand extensions directories into specific
     * JAR files, and construct the ClassPath object-- but as part
     * of the fix for 6473331, which adds support for Class-Path
     * manifest entries in JAR files, those steps are now handled
     * here directly, with the help of a Path utility class copied
     * from the new javac implementation (see below).
     */
    Path path = new Path();

    if (sysClassPathString == null) {
        sysClassPathString = System.getProperty("sun.boot.class.path");
    }
    if (sysClassPathString != null) {
        path.addFiles(sysClassPathString);
    }

    /*
     * Class-Path manifest entries are supported for JAR files
     * everywhere except in the boot class path.
     */
    path.expandJarClassPaths(true);

    if (extDirsString == null) {
        extDirsString = System.getProperty("java.ext.dirs");
    }
    if (extDirsString != null) {
        path.addDirectories(extDirsString);
    }

    /*
     * In the application class path, an empty element means
     * the current working directory.
     */
    path.emptyPathDefault(".");

    if (classPathString == null) {
        // The env.class.path property is the user's CLASSPATH
        // environment variable, and it set by the wrapper (ie,
        // javac.exe).
        classPathString = System.getProperty("env.class.path");
        if (classPathString == null) {
            classPathString = ".";
        }
    }
    path.addFiles(classPathString);

    return new ClassPath(path.toArray(new String[path.size()]));
}