org.springframework.core.io
Class VfsUtils

java.lang.Object
  extended by org.springframework.core.io.VfsUtils
Direct Known Subclasses:
VfsPatternUtils

public abstract class VfsUtils
extends java.lang.Object

Utility for detecting the JBoss VFS version available in the classpath. JBoss AS 5+ uses VFS 2.x (package org.jboss.virtual) while JBoss AS 6+ uses VFS 3.x (package org.jboss.vfs).

Thanks go to Marius Bogoevici for the initial patch. Note: This is an internal class and should not be used outside the framework.

Since:
3.0.3
Author:
Costin Leau

Nested Class Summary
private static class VfsUtils.VFS_VER
           
 
Field Summary
private static java.lang.reflect.Method GET_PHYSICAL_FILE
           
private static Log logger
           
private static VfsUtils.VFS_VER version
           
private static java.lang.reflect.Method VFS_METHOD_GET_ROOT_URI
           
private static java.lang.reflect.Method VFS_METHOD_GET_ROOT_URL
           
private static java.lang.String VFS_NAME
           
private static java.lang.reflect.Method VFS_UTILS_METHOD_GET_COMPATIBLE_URI
           
private static java.lang.reflect.Method VFS_UTILS_METHOD_IS_NESTED_FILE
           
private static java.lang.String VFS2_PKG
           
private static java.lang.String VFS3_PKG
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_EXISTS
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_CHILD
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_INPUT_STREAM
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_LAST_MODIFIED
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_NAME
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_PATH_NAME
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_SIZE
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_TO_URI
           
private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_TO_URL
           
protected static java.lang.reflect.Method VIRTUAL_FILE_METHOD_VISIT
           
protected static java.lang.Class<?> VIRTUAL_FILE_VISITOR_INTERFACE
           
private static java.lang.reflect.Field VISITOR_ATTRIBUTES_FIELD_RECURSE
           
 
Constructor Summary
VfsUtils()
           
 
Method Summary
protected static java.lang.String doGetPath(java.lang.Object resource)
           
protected static java.lang.Object doGetVisitorAttribute()
           
(package private) static boolean exists(java.lang.Object vfsResource)
           
(package private) static java.lang.Object getChild(java.lang.Object vfsResource, java.lang.String path)
           
(package private) static java.io.File getFile(java.lang.Object vfsResource)
           
(package private) static java.io.InputStream getInputStream(java.lang.Object vfsResource)
           
(package private) static long getLastModified(java.lang.Object vfsResource)
           
(package private) static java.lang.String getName(java.lang.Object vfsResource)
           
(package private) static java.lang.Object getRelative(java.net.URL url)
           
(package private) static java.lang.Object getRoot(java.net.URI url)
           
protected static java.lang.Object getRoot(java.net.URL url)
           
(package private) static java.net.URI getURI(java.lang.Object vfsResource)
           
(package private) static java.net.URL getURL(java.lang.Object vfsResource)
           
protected static java.lang.Object invokeVfsMethod(java.lang.reflect.Method method, java.lang.Object target, java.lang.Object... args)
           
(package private) static boolean isReadable(java.lang.Object vfsResource)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final Log logger

VFS2_PKG

private static final java.lang.String VFS2_PKG
See Also:
Constant Field Values

VFS3_PKG

private static final java.lang.String VFS3_PKG
See Also:
Constant Field Values

VFS_NAME

private static final java.lang.String VFS_NAME
See Also:
Constant Field Values

version

private static VfsUtils.VFS_VER version

VFS_METHOD_GET_ROOT_URL

private static java.lang.reflect.Method VFS_METHOD_GET_ROOT_URL

VFS_METHOD_GET_ROOT_URI

private static java.lang.reflect.Method VFS_METHOD_GET_ROOT_URI

VIRTUAL_FILE_METHOD_EXISTS

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_EXISTS

VIRTUAL_FILE_METHOD_GET_SIZE

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_SIZE

VIRTUAL_FILE_METHOD_GET_LAST_MODIFIED

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_LAST_MODIFIED

VIRTUAL_FILE_METHOD_GET_CHILD

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_CHILD

VIRTUAL_FILE_METHOD_GET_INPUT_STREAM

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_INPUT_STREAM

VIRTUAL_FILE_METHOD_TO_URL

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_TO_URL

VIRTUAL_FILE_METHOD_TO_URI

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_TO_URI

VIRTUAL_FILE_METHOD_GET_NAME

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_NAME

VIRTUAL_FILE_METHOD_GET_PATH_NAME

private static java.lang.reflect.Method VIRTUAL_FILE_METHOD_GET_PATH_NAME

VIRTUAL_FILE_VISITOR_INTERFACE

protected static java.lang.Class<?> VIRTUAL_FILE_VISITOR_INTERFACE

VIRTUAL_FILE_METHOD_VISIT

protected static java.lang.reflect.Method VIRTUAL_FILE_METHOD_VISIT

VFS_UTILS_METHOD_IS_NESTED_FILE

private static java.lang.reflect.Method VFS_UTILS_METHOD_IS_NESTED_FILE

VFS_UTILS_METHOD_GET_COMPATIBLE_URI

private static java.lang.reflect.Method VFS_UTILS_METHOD_GET_COMPATIBLE_URI

VISITOR_ATTRIBUTES_FIELD_RECURSE

private static java.lang.reflect.Field VISITOR_ATTRIBUTES_FIELD_RECURSE

GET_PHYSICAL_FILE

private static java.lang.reflect.Method GET_PHYSICAL_FILE
Constructor Detail

VfsUtils

public VfsUtils()
Method Detail

invokeVfsMethod

protected static java.lang.Object invokeVfsMethod(java.lang.reflect.Method method,
                                                  java.lang.Object target,
                                                  java.lang.Object... args)
                                           throws java.io.IOException
Throws:
java.io.IOException

exists

static boolean exists(java.lang.Object vfsResource)

isReadable

static boolean isReadable(java.lang.Object vfsResource)

getLastModified

static long getLastModified(java.lang.Object vfsResource)
                     throws java.io.IOException
Throws:
java.io.IOException

getInputStream

static java.io.InputStream getInputStream(java.lang.Object vfsResource)
                                   throws java.io.IOException
Throws:
java.io.IOException

getURL

static java.net.URL getURL(java.lang.Object vfsResource)
                    throws java.io.IOException
Throws:
java.io.IOException

getURI

static java.net.URI getURI(java.lang.Object vfsResource)
                    throws java.io.IOException
Throws:
java.io.IOException

getName

static java.lang.String getName(java.lang.Object vfsResource)

getRelative

static java.lang.Object getRelative(java.net.URL url)
                             throws java.io.IOException
Throws:
java.io.IOException

getChild

static java.lang.Object getChild(java.lang.Object vfsResource,
                                 java.lang.String path)
                          throws java.io.IOException
Throws:
java.io.IOException

getFile

static java.io.File getFile(java.lang.Object vfsResource)
                     throws java.io.IOException
Throws:
java.io.IOException

getRoot

static java.lang.Object getRoot(java.net.URI url)
                         throws java.io.IOException
Throws:
java.io.IOException

getRoot

protected static java.lang.Object getRoot(java.net.URL url)
                                   throws java.io.IOException
Throws:
java.io.IOException

doGetVisitorAttribute

protected static java.lang.Object doGetVisitorAttribute()

doGetPath

protected static java.lang.String doGetPath(java.lang.Object resource)