com.opensymphony.xwork2.util.finder
Class UrlSet

java.lang.Object
  extended by com.opensymphony.xwork2.util.finder.UrlSet

public class UrlSet
extends Object

Use with ClassFinder to filter the Urls to be scanned, example:

 UrlSet urlSet = new UrlSet(classLoader);
 urlSet = urlSet.exclude(ClassLoader.getSystemClassLoader().getParent());
 urlSet = urlSet.excludeJavaExtDirs();
 urlSet = urlSet.excludeJavaEndorsedDirs();
 urlSet = urlSet.excludeJavaHome();
 urlSet = urlSet.excludePaths(System.getProperty("sun.boot.class.path", ""));
 urlSet = urlSet.exclude(".*?/JavaVM.framework/.*");
 urlSet = urlSet.exclude(".*?/activemq-(core|ra)-[\\d.]+.jar(!/)?");
 

Version:
$Rev$ $Date$
Author:
David Blevins

Field Summary
private static Logger LOG
           
private  Set<String> protocols
           
private  Map<String,URL> urls
           
 
Constructor Summary
  UrlSet(ClassLoaderInterface classLoader)
           
  UrlSet(ClassLoaderInterface classLoader, Set<String> protocols)
           
  UrlSet(Collection<URL> urls)
          Ignores all URLs that are not "jar" or "file"
private UrlSet(Map<String,URL> urls)
           
  UrlSet(URL... urls)
           
 
Method Summary
 UrlSet exclude(ClassLoaderInterface parent)
           
 UrlSet exclude(File file)
           
 UrlSet exclude(String pattern)
           
 UrlSet exclude(UrlSet urlSet)
           
 UrlSet excludeJavaEndorsedDirs()
          Calls excludePaths(System.getProperty("java.endorsed.dirs"))
 UrlSet excludeJavaExtDirs()
          Calls excludePaths(System.getProperty("java.ext.dirs"))
 UrlSet excludeJavaHome()
           
 UrlSet excludePaths(String pathString)
           
 List<URL> getUrls()
           
private static List<URL> getUrls(ClassLoaderInterface classLoader)
           
private static List<URL> getUrls(ClassLoaderInterface classLoader, Set<String> protocols)
           
 UrlSet include(UrlSet urlSet)
           
 UrlSet includeClassesUrl(ClassLoaderInterface classLoaderInterface)
          Try to find a classes directory inside a war file add its normalized url to this set
 UrlSet matching(String pattern)
           
 UrlSet relative(File file)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

private static final Logger LOG

urls

private final Map<String,URL> urls

protocols

private Set<String> protocols
Constructor Detail

UrlSet

public UrlSet(ClassLoaderInterface classLoader)
       throws IOException
Throws:
IOException

UrlSet

public UrlSet(ClassLoaderInterface classLoader,
              Set<String> protocols)
       throws IOException
Throws:
IOException

UrlSet

public UrlSet(URL... urls)

UrlSet

public UrlSet(Collection<URL> urls)
Ignores all URLs that are not "jar" or "file"

Parameters:
urls -

UrlSet

private UrlSet(Map<String,URL> urls)
Method Detail

include

public UrlSet include(UrlSet urlSet)

exclude

public UrlSet exclude(UrlSet urlSet)

exclude

public UrlSet exclude(ClassLoaderInterface parent)
               throws IOException
Throws:
IOException

exclude

public UrlSet exclude(File file)
               throws MalformedURLException
Throws:
MalformedURLException

exclude

public UrlSet exclude(String pattern)
               throws MalformedURLException
Throws:
MalformedURLException

excludeJavaExtDirs

public UrlSet excludeJavaExtDirs()
                          throws MalformedURLException
Calls excludePaths(System.getProperty("java.ext.dirs"))

Returns:
Throws:
MalformedURLException

excludeJavaEndorsedDirs

public UrlSet excludeJavaEndorsedDirs()
                               throws MalformedURLException
Calls excludePaths(System.getProperty("java.endorsed.dirs"))

Returns:
Throws:
MalformedURLException

excludeJavaHome

public UrlSet excludeJavaHome()
                       throws MalformedURLException
Throws:
MalformedURLException

excludePaths

public UrlSet excludePaths(String pathString)
                    throws MalformedURLException
Throws:
MalformedURLException

matching

public UrlSet matching(String pattern)

includeClassesUrl

public UrlSet includeClassesUrl(ClassLoaderInterface classLoaderInterface)
                         throws IOException
Try to find a classes directory inside a war file add its normalized url to this set

Throws:
IOException

relative

public UrlSet relative(File file)
                throws MalformedURLException
Throws:
MalformedURLException

getUrls

public List<URL> getUrls()

getUrls

private static List<URL> getUrls(ClassLoaderInterface classLoader)
                          throws IOException
Throws:
IOException

getUrls

private static List<URL> getUrls(ClassLoaderInterface classLoader,
                                 Set<String> protocols)
                          throws IOException
Throws:
IOException


Copyright © 2000-2009 Apache Software Foundation. All Rights Reserved.