public abstract class AbstractFileResolvingResource extends AbstractResource
UrlResource
や ClassPathResource
などのファイル参照に解決するリソースの抽象基本クラス。URL の「ファイル」プロトコルと JBoss "vfs" プロトコルを検出し、それに応じてファイルシステム参照を解決します。
コンストラクターと説明 |
---|
AbstractFileResolvingResource() |
修飾子と型 | メソッドと説明 |
---|---|
long | contentLength() この実装は、InputStream 全体を読み取ってコンテンツの長さを計算します。 |
protected void | customizeConnection(HttpURLConnectionSE con) |
protected void | customizeConnection(URLConnectionSE con) |
boolean | exists() この実装は、ファイルを開くことができるかどうかをチェックし、InputStream を開くことができるかどうかにフォールバックします。 |
FileSE | getFile() この実装は、ファイルシステム内のファイルを参照する場合、基になるクラスパスリソースの File 参照を返します。 |
protected FileSE | getFile(URISE uri) この実装は、ファイルシステム内のファイルを参照する場合、指定された URI で識別されたリソースの File 参照を返します。 |
protected FileSE | getFileForLastModifiedCheck() この実装は、元となるファイル(または、jar/zip のリソースの場合は jar ファイル)を決定します。 |
boolean | isFile() この実装は、常に false を返します。 |
protected boolean | isFile(URISE uri) この実装は、ファイルシステム内のファイルを参照する場合、指定された URI で識別されたリソースの File 参照を返します。 |
boolean | isReadable() この実装は、 exists (5.1 の時点で改訂された)というリソースに対して、常に true を返します。 |
long | lastModified() この実装は、使用可能な場合、元となるファイルのタイムスタンプをチェックします。 |
ReadableByteChannelSE | readableChannel() この実装は、ファイルシステム内のファイルを参照する場合、指定された URI で識別されたリソースの FileChannel を返します。 |
createRelative, equals, getFilename, getURI, getURL, hashCode, isOpen, toString
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getDescription
getInputStream
public boolean exists()
AbstractResource
Resource
の exists
AbstractResource
の exists
public boolean isReadable()
AbstractResource
exists
(5.1 の時点で改訂された)というリソースに対して、常に true
を返します。Resource
の isReadable
AbstractResource
の isReadable
InputStreamSource.getInputStream()
, Resource.exists()
public boolean isFile()
AbstractResource
false
を返します。Resource
の isFile
AbstractResource
の isFile
Resource.getFile()
public FileSE getFile() throws IOExceptionSE
Resource
の getFile
AbstractResource
の getFile
FileNotFoundExceptionSE
- リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合 IOExceptionSE
- 一般的な解決 / 読み取りエラーの場合 ResourceUtils.getFile(java.net.URL, String)
protected FileSE getFileForLastModifiedCheck() throws IOExceptionSE
AbstractResource
の getFileForLastModifiedCheck
null
)FileNotFoundExceptionSE
- リソースが絶対ファイルパスとして解決できない場合、つまりファイルシステムで使用できない場合 IOExceptionSE
- 一般的な解決 / 読み取りエラーの場合 protected boolean isFile(URISE uri)
getFile(URI)
protected FileSE getFile(URISE uri) throws IOExceptionSE
public ReadableByteChannelSE readableChannel() throws IOExceptionSE
Resource
の readableChannel
AbstractResource
の readableChannel
null
であってはなりません)FileNotFoundExceptionSE
- 基になるリソースが存在しない場合 IOExceptionSE
- コンテンツチャネルを開けなかった場合 getFile()
public long contentLength() throws IOExceptionSE
AbstractResource
Resource
の contentLength
AbstractResource
の contentLength
IOExceptionSE
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)InputStreamSource.getInputStream()
public long lastModified() throws IOExceptionSE
AbstractResource
Resource
の lastModified
AbstractResource
の lastModified
IOExceptionSE
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)AbstractResource.getFileForLastModifiedCheck()
protected void customizeConnection(URLConnectionSE con) throws IOExceptionSE
exists()
、contentLength()
、lastModified()
呼び出しの過程で取得した、指定された URLConnection
SE をカスタマイズします。ResourceUtils.useCachesIfNecessary(URLConnection)
を呼び出し、可能であれば customizeConnection(HttpURLConnection)
に委譲します。サブクラスでオーバーライドできます。
con
- カスタマイズする URLConnectionIOExceptionSE
- URLConnection メソッドからスローされた場合 protected void customizeConnection(HttpURLConnectionSE con) throws IOExceptionSE
exists()
、contentLength()
、lastModified()
呼び出しの過程で取得した、指定された HttpURLConnection
SE をカスタマイズします。リクエストメソッド "HEAD" をデフォルトで設定します。サブクラスでオーバーライドできます。
con
- カスタマイズする HttpURLConnectionIOExceptionSE
- HttpURLConnection メソッドからスローされた場合