// Path: src/main/java/com/pureperfect/ferret/vfs/PathElement.java
// public interface PathElement
// {
// 	/**
// 	 * Get the parent container for this path.
// 	 * 
// 	 * @return the parent container for this path.
// 	 */
// 	public Container getParent();
// 
// 	/**
// 	 * Get the name of this path, relative to its parent.
// 	 * 
// 	 * @return the name of this path
// 	 */
// 	public String getName();
// 
// 	/**
// 	 * Get the full path, which should be unique on the file system.
// 	 * 
// 	 * @return the full path, which should be unique on the file system.
// 	 */
// 	public String getFullPath();
// 
// 	/**
// 	 * Open a stream to this resource.
// 	 * 
// 	 * @return the input stream to this resource
// 	 * @throws IOException
// 	 *             if an error occurs opening the stream
// 	 * @throws UnsupportedOperationException
// 	 *             if the resource cannot be opened.
// 	 */
// 	public InputStream openStream() throws IOException,
// 			UnsupportedOperationException;
// }


import com.pureperfect.ferret.vfs.PathElement;
package com.pureperfect.ferret;


/**
 * Implement this interface to scan.
 * 
 * @author J. Chris Folsom
 * @version 1.0
 * @since 1.0
 */
public interface ScanFilter
{
	/**
	 * Define search criteria for scanning. If this method returns true, the
	 * visited resource will be added to the result set.
	 * 
	 * @param resource
	 *            The current resource being visited.
	 * 
	 * @return whether or not the resource should be included in the scan
	 *         results.
	 */
// Path: src/main/java/com/pureperfect/ferret/vfs/PathElement.java
// public interface PathElement
// {
// 	/**
// 	 * Get the parent container for this path.
// 	 * 
// 	 * @return the parent container for this path.
// 	 */
// 	public Container getParent();
// 
// 	/**
// 	 * Get the name of this path, relative to its parent.
// 	 * 
// 	 * @return the name of this path
// 	 */
// 	public String getName();
// 
// 	/**
// 	 * Get the full path, which should be unique on the file system.
// 	 * 
// 	 * @return the full path, which should be unique on the file system.
// 	 */
// 	public String getFullPath();
// 
// 	/**
// 	 * Open a stream to this resource.
// 	 * 
// 	 * @return the input stream to this resource
// 	 * @throws IOException
// 	 *             if an error occurs opening the stream
// 	 * @throws UnsupportedOperationException
// 	 *             if the resource cannot be opened.
// 	 */
// 	public InputStream openStream() throws IOException,
// 			UnsupportedOperationException;
// }


// Path: src/main/java/com/pureperfect/ferret/ScanFilter.java
import com.pureperfect.ferret.vfs.PathElement;

package com.pureperfect.ferret;


/**
 * Implement this interface to scan.
 * 
 * @author J. Chris Folsom
 * @version 1.0
 * @since 1.0
 */
public interface ScanFilter
{
	/**
	 * Define search criteria for scanning. If this method returns true, the
	 * visited resource will be added to the result set.
	 * 
	 * @param resource
	 *            The current resource being visited.
	 * 
	 * @return whether or not the resource should be included in the scan
	 *         results.
	 */
	public boolean accept(PathElement resource);