Class AbstractResource
java.lang.Object
org.apache.tapestry5.commons.internal.util.LockSupport
org.apache.tapestry5.ioc.internal.util.AbstractResource
- All Implemented Interfaces:
Resource
- Direct Known Subclasses:
ClasspathResource,ContextResource
Abstract implementation of
Resource. Subclasses must implement the abstract methods Resource.toURL()
and newResource(String) as well as toString(), hashCode() and equals().-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanexists()Simple check for whetherResource.toURL()returns null or not.final ResourceReturns a Resource based on a relative path, relative to the folder containing the resource.final ResourceReturns a localized version of the resource.final StringgetFile()Returns the file portion of the Resource path, everything that follows the final forward slash.final StringReturns the portion of the path up to the last forward slash; this is the directory or folder portion of the Resource.final StringgetPath()Return the path (the combination of folder and file).booleanReturns true if the resource is virtual, meaning this is no underlying file.protected abstract ResourcenewResource(String path) Factory method provided by subclasses.Obtains the URL for the Resource and opens the stream, wrapped by a BufferedInputStream.protected voidvalidateURL(URL url) Validates that the URL is correct; at this time, a correct URL is one of: null a non-file: URL a file: URL where the case of the file matches the corresponding path element See TAP5-1007final ResourcewithExtension(String extension) Returns a new Resource with the extension changed (or, if the resource does not have an extension, the extension is added).Methods inherited from class org.apache.tapestry5.commons.internal.util.LockSupport
acquireReadLock, downgradeWriteLockToReadLock, releaseReadLock, releaseWriteLock, takeWriteLock, upgradeReadLockToWriteLock
-
Constructor Details
-
AbstractResource
-
-
Method Details
-
getPath
Description copied from interface:ResourceReturn the path (the combination of folder and file). Starting in 5.4, certain "virtual resources", may return an arbitrary value here. -
getFile
Description copied from interface:ResourceReturns the file portion of the Resource path, everything that follows the final forward slash. Starting in 5.4, certain kinds of "virtual resources" may return null here. -
getFolder
Description copied from interface:ResourceReturns the portion of the path up to the last forward slash; this is the directory or folder portion of the Resource. -
forFile
Description copied from interface:ResourceReturns a Resource based on a relative path, relative to the folder containing the resource. Understands the "." (current folder) and ".." (parent folder) conventions, and treats multiple sequential slashes as a single slash. Virtual resources (resources fabricated at runtime) return themselves. -
forLocale
Description copied from interface:ResourceReturns a localized version of the resource. May return null if no such resource exists. Starting in release 5.3.4, the result of this method is cached internally. -
withExtension
Description copied from interface:ResourceReturns a new Resource with the extension changed (or, if the resource does not have an extension, the extension is added). The new Resource may not exist (that is,Resource.toURL()may return null.- Specified by:
withExtensionin interfaceResource- Parameters:
extension- to apply to the resource, such as "html" or "properties"- Returns:
- the new resource
-
exists
Simple check for whetherResource.toURL()returns null or not. -
openStream
Obtains the URL for the Resource and opens the stream, wrapped by a BufferedInputStream.- Specified by:
openStreamin interfaceResource- Returns:
- an open, buffered stream to the content, if available
- Throws:
IOException
-
newResource
Factory method provided by subclasses. -
validateURL
Validates that the URL is correct; at this time, a correct URL is one of:- null
- a non-file: URL
- a file: URL where the case of the file matches the corresponding path element
- Parameters:
url- to validate- Since:
- 5.4
-
isVirtual
Description copied from interface:ResourceReturns true if the resource is virtual, meaning this is no underlying file. Many operations are unsupported on virtual resources, includingResource.toURL(),Resource.forLocale(java.util.Locale),Resource.withExtension(String),Resource.getFile(),Resource.getFolder(),Resource.getPath()}; these operations will throw anUnsupportedOperationException.
-