package org.audit4j.core.extra.scannotation;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
*/
public class FileProtocolIteratorFactory implements DirectoryIteratorFactory
{
@Override
public StreamIterator create(URL url, Filter filter) throws IOException
{
// See http://weblogs.java.net/blog/2007/04/25/how-convert-javaneturl-javaiofile
File f;
try
{
f = new File(url.toURI());
}
catch (URISyntaxException e)
{
f = new File(url.getPath());
}
if (f.isDirectory())
{
return new FileIterator(f, filter);
}
else
{
return new JarIterator(url.openStream(), filter);
}
}
}