This class serves as a repository of files in the file system. It is also a base class for all repositories that use files.
This class is somewhat analogous to PackageRepo and SubpackageRepo, except that it returns files from the specified location but not resources.
FileRepo does not support resources. It will always throw UnsupportedOperationException whenever getResource() method is called.
FileRepo locates requested files under common basedir directory. Parameter name in getFile(name) is treated as a file name relative to the basedir.
FileRepo is also a base class for other classes such as FlattenedFileRepo (section 4.9), StructuredFileRepo (section 4.10), ZipFileRepo (section 4.12), and TempFileRepo (section 4.13). To simplify creation of File objects, FileRepo defines a protected method getSubdirectory(), which returns a subdirectory under basedir directory where the actual files are located. By default, FileRepo returns an empty string (see figure 15), meaning that the files are located directly under basedir. The subclasses differ from this class mainly in their implementation of getSubdirectory() method.