1 package com.atlassian.plugin.classloader;
2
3 import java.io.IOException;
4 import java.net.URL;
5 import java.util.Collections;
6 import java.util.Enumeration;
7
8
9
10
11 abstract class AbstractClassLoader extends ClassLoader {
12 protected AbstractClassLoader(ClassLoader parent) {
13 super(parent);
14 }
15
16 protected AbstractClassLoader() {
17 super();
18 }
19
20 protected abstract URL findResource(String name);
21
22 protected abstract Class findClass(String className) throws ClassNotFoundException;
23
24
25
26
27
28
29
30
31
32 protected Enumeration<URL> findResources(String name) throws IOException {
33 final URL url = this.findResource(name);
34 return url != null ? Collections.enumeration(Collections.singleton(url)) : null;
35 }
36 }