jaxws/src/jdk.xml.bind/share/classes/com/sun/istack/internal/tools/ParallelWorldClassLoader.java
changeset 32795 5a5710ee05a0
parent 25871 b80b84e87032
equal deleted inserted replaced
32712:f61a63b7d1e5 32795:5a5710ee05a0
    55  *     +- X.class
    55  *     +- X.class
    56  *  +- bar
    56  *  +- bar
    57  *     +- X.class
    57  *     +- X.class
    58  * </pre>
    58  * </pre>
    59  * <p>
    59  * <p>
    60  * {@link ParallelWorldClassLoader}("foo/") would load <tt>X.class<tt> from
    60  * {@link ParallelWorldClassLoader}("foo/") would load {@code X.class} from
    61  * <tt>/foo/X.class</tt> (note that X is defined in the root package, not
    61  * {@code /foo/X.class} (note that X is defined in the root package, not
    62  * <tt>foo.X</tt>.
    62  * {@code foo.X}.
    63  *
    63  *
    64  * <p>
    64  * <p>
    65  * This can be combined with  {@link MaskingClassLoader} to mask classes which are loaded by the parent
    65  * This can be combined with  {@link MaskingClassLoader} to mask classes which are loaded by the parent
    66  * class loader so that the child class loader
    66  * class loader so that the child class loader
    67  * classes living in different folders are loaded
    67  * classes living in different folders are loaded
    75  *  +- bar
    75  *  +- bar
    76  *     +-foo
    76  *     +-foo
    77  *        +- X.class
    77  *        +- X.class
    78  * </pre>
    78  * </pre>
    79  * <p>
    79  * <p>
    80  * {@link ParallelWorldClassLoader}(MaskingClassLoader.class.getClassLoader()) would load <tt>foo.X.class<tt> from
    80  * {@link ParallelWorldClassLoader}(MaskingClassLoader.class.getClassLoader())
    81  * <tt>/bar/foo.X.class</tt> not the <tt>foo.X.class<tt> in the publicly visible place in the jar file, thus
    81  * would load {@code foo.X.class}  from
    82  * masking the parent classLoader from loading the class from  <tt>foo.X.class<tt>
    82  * {@code /bar/foo.X.class} not the {@code foo.X.class}
       
    83  * in the publicly visible place in the jar file, thus
       
    84  * masking the parent classLoader from loading the class from {@code foo.X.class}
    83  * (note that X is defined in the  package foo, not
    85  * (note that X is defined in the  package foo, not
    84  * <tt>bar.foo.X</tt>.
    86  * {@code bar.foo.X}.
    85  *
    87  *
    86  * @author Kohsuke Kawaguchi
    88  * @author Kohsuke Kawaguchi
    87  */
    89  */
    88 public class ParallelWorldClassLoader extends ClassLoader implements Closeable {
    90 public class ParallelWorldClassLoader extends ClassLoader implements Closeable {
    89 
    91