クラス AbstractFileResolvingResource

java.lang.ObjectSE
org.springframework.core.io.AbstractResource
org.springframework.core.io.AbstractFileResolvingResource
実装されたすべてのインターフェース:
InputStreamSourceResource
既知の直属サブクラス
ClassPathResourceServletContextResourceUrlResource

public abstract class AbstractFileResolvingResource extends AbstractResource
URL を UrlResourceClassPathResource などのファイル参照に解決するリソースの抽象基本クラス。

URL の「ファイル」プロトコルと JBoss "vfs" プロトコルを検出し、それに応じてファイルシステム参照を解決します。

導入:
3.0
作成者:
Juergen Hoeller
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    long
    このメソッドは、InputStream 全体を読み取ってコンテンツの長さを決定します。
    protected void
    リソースをフェッチする前に、指定された HttpURLConnectionSE をカスタマイズします。
    protected void
    リソースをフェッチする前に、指定された URLConnectionSE をカスタマイズします。
    boolean
    この実装は、ファイルを開くことができるかどうかをチェックし、InputStream を開くことができるかどうかにフォールバックします。
    この実装は、ファイルシステム内のファイルを参照する場合、基になるクラスパスリソースの File 参照を返します。
    protected FileSE
    この実装は、ファイルシステム内のファイルを参照する場合、指定された URI で識別されたリソースの File 参照を返します。
    protected FileSE
    この実装は、元となるファイル(または、jar/zip のリソースの場合は jar ファイル)を決定します。
    boolean
    この実装は、常に false を返します。
    protected boolean
    指定された URISE がファイルシステム内のファイルを表すかどうかを判別します。
    boolean
    この実装は、exists(5.1 の時点で改訂された)というリソースに対して、常に true を返します。
    long
    この実装は、使用可能な場合、元となるファイルのタイムスタンプをチェックします。
    この実装は、ファイルシステム内のファイルを参照する場合、指定された URI で識別されたリソースの FileChannel を返します。

    クラス org.springframework.core.io.AbstractResource から継承されたメソッド

    createRelative, equals, getFilename, getURI, getURL, hashCode, isOpen, toString

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE

    インターフェース org.springframework.core.io.InputStreamSource から継承されたメソッド

    getInputStream

    インターフェース org.springframework.core.io.Resource から継承されたメソッド

    getContentAsByteArray, getContentAsString, getDescription
  • コンストラクターの詳細

    • AbstractFileResolvingResource

      public AbstractFileResolvingResource()
  • メソッドの詳細

    • exists

      public boolean exists()
      クラスからコピーされた説明: AbstractResource
      この実装は、ファイルを開くことができるかどうかをチェックし、InputStream を開くことができるかどうかにフォールバックします。

      これは、ディレクトリとコンテンツリソースの両方をカバーします。

      次で指定:
      インターフェース Resourceexists 
      オーバーライド:
      クラス AbstractResourceexists 
    • isReadable

      public boolean isReadable()
      クラスからコピーされた説明: AbstractResource
      この実装は、exists(5.1 の時点で改訂された)というリソースに対して、常に true を返します。
      次で指定:
      インターフェース ResourceisReadable 
      オーバーライド:
      クラス AbstractResourceisReadable 
      関連事項:
    • isFile

      public boolean isFile()
      クラスからコピーされた説明: AbstractResource
      この実装は、常に false を返します。
      次で指定:
      インターフェース ResourceisFile 
      オーバーライド:
      クラス AbstractResourceisFile 
      関連事項:
    • getFile

      public FileSE getFile() throws IOExceptionSE
      この実装は、ファイルシステム内のファイルを参照する場合、基になるクラスパスリソースの File 参照を返します。
      次で指定:
      インターフェース ResourcegetFile 
      オーバーライド:
      クラス AbstractResourcegetFile 
      例外:
      FileNotFoundExceptionSE - リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合
      IOExceptionSE - 一般的な解決 / 読み取りエラーの場合
      関連事項:
    • getFileForLastModifiedCheck

      protected FileSE getFileForLastModifiedCheck() throws IOExceptionSE
      この実装は、元となるファイル(または、jar/zip のリソースの場合は jar ファイル)を決定します。
      オーバーライド:
      クラス AbstractResourcegetFileForLastModifiedCheck 
      戻り値:
      タイムスタンプのチェックに使用するファイル (非 null)
      例外:
      FileNotFoundExceptionSE - リソースが絶対ファイルパスとして解決できない場合、つまりファイルシステムで使用できない場合
      IOExceptionSE - 一般的な解決 / 読み取りエラーの場合
    • isFile

      protected boolean isFile(URISE uri)
      指定された URISE がファイルシステム内のファイルを表すかどうかを判別します。
      導入:
      5.0
      関連事項:
    • getFile

      protected FileSE getFile(URISE uri) throws IOExceptionSE
      この実装は、ファイルシステム内のファイルを参照する場合、指定された URI で識別されたリソースの File 参照を返します。
      例外:
      IOExceptionSE
      関連事項:
    • readableChannel

      public ReadableByteChannelSE readableChannel() throws IOExceptionSE
      この実装は、ファイルシステム内のファイルを参照する場合、指定された URI で識別されたリソースの FileChannel を返します。
      次で指定:
      インターフェース ResourcereadableChannel 
      オーバーライド:
      クラス AbstractResourcereadableChannel 
      戻り値:
      基になるリソースのバイトチャネル (null であってはなりません)
      例外:
      FileNotFoundExceptionSE - 基になるリソースが存在しない場合
      IOExceptionSE - コンテンツチャネルを開けなかった場合
      導入:
      5.0
      関連事項:
    • contentLength

      public long contentLength() throws IOExceptionSE
      クラスからコピーされた説明: AbstractResource
      このメソッドは、InputStream 全体を読み取ってコンテンツの長さを決定します。

      InputStreamResource のカスタムサブクラスの場合、このメソッドをより最適な実装でオーバーライドすることを強くお勧めします。ファイルの長さをチェックするか、ストリームを 1 回しか読み取れない場合は単に -1 を返します。

      次で指定:
      インターフェース ResourcecontentLength 
      オーバーライド:
      クラス AbstractResourcecontentLength 
      例外:
      IOExceptionSE - リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)
      関連事項:
    • lastModified

      public long lastModified() throws IOExceptionSE
      クラスからコピーされた説明: AbstractResource
      この実装は、使用可能な場合、元となるファイルのタイムスタンプをチェックします。
      次で指定:
      インターフェース ResourcelastModified 
      オーバーライド:
      クラス AbstractResourcelastModified 
      例外:
      IOExceptionSE - リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)
      関連事項:
    • customizeConnection

      protected void customizeConnection(URLConnectionSE con) throws IOExceptionSE
      リソースをフェッチする前に、指定された URLConnectionSE をカスタマイズします。

      ResourceUtils.useCachesIfNecessary(URLConnection) を呼び出し、可能であれば customizeConnection(HttpURLConnection) に委譲します。サブクラスでオーバーライドできます。

      パラメーター:
      con - カスタマイズする URLConnection
      例外:
      IOExceptionSE - URLConnection メソッドからスローされた場合
    • customizeConnection

      protected void customizeConnection(HttpURLConnectionSE con) throws IOExceptionSE
      リソースをフェッチする前に、指定された HttpURLConnectionSE をカスタマイズします。

      リクエストヘッダーとタイムアウトを設定するために、サブクラスでオーバーライドできます。

      パラメーター:
      con - カスタマイズする HttpURLConnection
      例外:
      IOExceptionSE - HttpURLConnection メソッドからスローされた場合