source: main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/CollectionClassLoader.java@ 26255

Last change on this file since 26255 was 26255, checked in by sjm84, 12 years ago

Reformatting this file AND changing the way a URL is retrieved from a file so that it works on windows

  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
Line 
1/*
2 * CollectionClassLoader.java
3 * Copyright (C) 2005 New Zealand Digital Library, http://www.nzdl.org
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19package org.greenstone.gsdl3.util;
20
21import java.net.URL;
22import java.util.Enumeration;
23import java.io.File;
24import java.io.IOException;
25
26/**
27 * Looks for classes/resources in the collection resources directory
28 */
29public class CollectionClassLoader extends ClassLoader
30{
31
32 String base_dir = null;
33
34 public CollectionClassLoader(ClassLoader parent, String site_home, String collection_name)
35 {
36 super(parent);
37 // 'resources directory' in the collection
38 this.base_dir = GSFile.collectionResourceDir(site_home, collection_name);
39 }
40
41 public URL findResource(String name)
42 {
43 File resource_path = new File(this.base_dir, name);
44 try
45 {
46 if (resource_path.exists())
47 {
48 return resource_path.toURI().toURL();
49 }
50 }
51 catch (Exception e)
52 {
53 }
54
55 return super.findResource(name);
56 }
57}
Note: See TracBrowser for help on using the repository browser.