Package org.apache.ibatis.io
Class DefaultVFS
- java.lang.Object
 - 
- org.apache.ibatis.io.VFS
 - 
- org.apache.ibatis.io.DefaultVFS
 
 
 
- 
- 
Field Summary
- 
Fields inherited from class org.apache.ibatis.io.VFS
IMPLEMENTATIONS, USER_IMPLEMENTATIONS 
 - 
 
- 
Constructor Summary
Constructors Constructor Description DefaultVFS() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected URLfindJarForResource(URL url)Attempts to deconstruct the given URL to find a JAR file containing the resource referenced by the URL.protected StringgetPackagePath(String packageName)Converts a Java package name to a path that can be looked up with a call toClassLoader.getResources(String).protected booleanisJar(URL url)Returns true if the resource located at the given URL is a JAR file.protected booleanisJar(URL url, byte[] buffer)Returns true if the resource located at the given URL is a JAR file.booleanisValid()Return true if theVFSimplementation is valid for the current environment.List<String>list(URL url, String path)Recursively list the full resource path of all the resources that are children of the resource identified by a URL.protected List<String>listResources(JarInputStream jar, String path)List the names of the entries in the givenJarInputStreamthat begin with the specifiedpath.- 
Methods inherited from class org.apache.ibatis.io.VFS
addImplClass, getClass, getInstance, getMethod, getResources, invoke, list 
 - 
 
 - 
 
- 
- 
Method Detail
- 
isValid
public boolean isValid()
Description copied from class:VFSReturn true if theVFSimplementation is valid for the current environment. 
- 
list
public List<String> list(URL url, String path) throws IOException
Description copied from class:VFSRecursively list the full resource path of all the resources that are children of the resource identified by a URL.- Specified by:
 listin classVFS- Parameters:
 url- The URL that identifies the resource to list.path- The path to the resource that is identified by the URL. Generally, this is the value passed toVFS.getResources(String)to get the resource URL.- Returns:
 - A list containing the names of the child resources.
 - Throws:
 IOException- If I/O errors occur
 
- 
listResources
protected List<String> listResources(JarInputStream jar, String path) throws IOException
List the names of the entries in the givenJarInputStreamthat begin with the specifiedpath. Entries will match with or without a leading slash.- Parameters:
 jar- The JAR input streampath- The leading path to match- Returns:
 - The names of all the matching entries
 - Throws:
 IOException- If I/O errors occur
 
- 
findJarForResource
protected URL findJarForResource(URL url) throws MalformedURLException
Attempts to deconstruct the given URL to find a JAR file containing the resource referenced by the URL. That is, assuming the URL references a JAR entry, this method will return a URL that references the JAR file containing the entry. If the JAR cannot be located, then this method returns null.- Parameters:
 url- The URL of the JAR entry.- Returns:
 - The URL of the JAR file, if one is found. Null if not.
 - Throws:
 MalformedURLException- the malformed URL exception
 
- 
getPackagePath
protected String getPackagePath(String packageName)
Converts a Java package name to a path that can be looked up with a call toClassLoader.getResources(String).- Parameters:
 packageName- The Java package name to convert to a path- Returns:
 - the package path
 
 
- 
isJar
protected boolean isJar(URL url)
Returns true if the resource located at the given URL is a JAR file.- Parameters:
 url- The URL of the resource to test.- Returns:
 - true, if is jar
 
 
- 
isJar
protected boolean isJar(URL url, byte[] buffer)
Returns true if the resource located at the given URL is a JAR file.- Parameters:
 url- The URL of the resource to test.buffer- A buffer into which the first few bytes of the resource are read. The buffer must be at least the size ofJAR_MAGIC. (The same buffer may be reused for multiple calls as an optimization.)- Returns:
 - true, if is jar
 
 
 - 
 
 -