1 /* 2 * Copyright (C) The Apache Software Foundation. All rights reserved. 3 * 4 * This software is published under the terms of the Apache Software License 5 * version 1.1, a copy of which has been included with this distribution in 6 * the LICENSE.txt file. 7 */ 8 package org.apache.avalon.excalibur.vfs; 9 10 import java.io.IOException; 11 12 /** 13 * Interface to read only VFS. 14 * 15 * @author <a HREF="mailto:peter@apache.org">Peter Donald</a> 16 */ 17 public interface VFileSystem 18 { 19 /** 20 * Retrieve VFile by path. 21 * 22 * @param path the path to VFile 23 * @return the VFile (may be null) 24 */ 25 VFile get( String path ) 26 throws IOException; 27 28 /** 29 * List all vfiles in directory. 30 * if path is not a directory null will be returned. 31 * 32 * @param directory the directory 33 * @return the VFiles 34 */ 35 VFile[] list( VFile directory ) 36 throws IOException; 37 38 /** 39 * List all vfiles in directory that are accepted by filter. 40 * if path is not a directory null will be returned. 41 * 42 * @param directory the directory 43 * @param filter the filter 44 * @return the VFiles accepted by filter 45 */ 46 VFile[] list( VFile directory, VFileFilter filter ) 47 throws IOException; 48 } 49