クラス AbstractResource

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

public abstract class AbstractResource extends ObjectSE implements Resource
Resource 実装の便利な基本クラスで、典型的な動作を事前実装します。

"exists" メソッドは、File または InputStream を開くことができるかどうかを確認します。"isOpen" は常に false を返します。"getURL" および "getFile" は例外をスローします。"toString" は説明を返します。

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

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

    修飾子と型
    メソッド
    説明
    long
    このメソッドは、InputStream 全体を読み取ってコンテンツの長さを決定します。
    createRelative(StringSE relativePath)
    この実装は、このリソースに対して相対リソースを作成できないと想定して、FileNotFoundException をスローします。
    boolean
    この実装は、説明文字列を比較します。
    boolean
    この実装は、ファイルを開くことができるかどうかをチェックし、InputStream を開くことができるかどうかにフォールバックします。
    この実装は、リソースを絶対ファイルパスに解決できないと想定して、FileNotFoundException をスローします。
    protected FileSE
    タイムスタンプチェックに使用するファイルを決定します。
    この実装は、このリソース型にファイル名がないと仮定して、常に null を返します。
    この実装は、getURL() によって返された URL に基づいて URI を構築します。
    この実装は、リソースを URL に解決できないと想定して、FileNotFoundException をスローします。
    int
    この実装は、説明のハッシュコードを返します。
    boolean
    この実装は、常に false を返します。
    boolean
    この実装は、常に false を返します。
    boolean
    この実装は、exists(5.1 の時点で改訂された)というリソースに対して、常に true を返します。
    long
    この実装は、使用可能な場合、元となるファイルのタイムスタンプをチェックします。
    この実装は、InputStreamSource.getInputStream() の結果とともに Channels.newChannel(InputStream)SE を返します。
    この実装は、このリソースの説明を返します。

    クラス 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
  • コンストラクターの詳細

    • AbstractResource

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

    • exists

      public boolean exists()
      この実装は、ファイルを開くことができるかどうかをチェックし、InputStream を開くことができるかどうかにフォールバックします。

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

      次で指定:
      インターフェース Resourceexists 
    • isReadable

      public boolean isReadable()
      この実装は、exists(5.1 の時点で改訂された)というリソースに対して、常に true を返します。
      次で指定:
      インターフェース ResourceisReadable 
      関連事項:
    • isOpen

      public boolean isOpen()
      この実装は、常に false を返します。
      次で指定:
      インターフェース ResourceisOpen 
    • isFile

      public boolean isFile()
      この実装は、常に false を返します。
      次で指定:
      インターフェース ResourceisFile 
      関連事項:
    • getURL

      public URLSE getURL() throws IOExceptionSE
      この実装は、リソースを URL に解決できないと想定して、FileNotFoundException をスローします。
      次で指定:
      インターフェース ResourcegetURL 
      例外:
      IOExceptionSE - リソースを URL として解決できない場合、つまりリソースが記述子として使用できない場合
    • getURI

      public URISE getURI() throws IOExceptionSE
      この実装は、getURL() によって返された URL に基づいて URI を構築します。
      次で指定:
      インターフェース ResourcegetURI 
      例外:
      IOExceptionSE - リソースを URI として解決できない場合、つまりリソースが記述子として使用できない場合
    • getFile

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

      public ReadableByteChannelSE readableChannel() throws IOExceptionSE
      この実装は、InputStreamSource.getInputStream() の結果とともに Channels.newChannel(InputStream)SE を返します。

      これは Resource の対応するデフォルトのメソッドと同じですが、クラス階層での効率的な JVM レベルのディスパッチのためにここでミラーリングされます。

      次で指定:
      インターフェース ResourcereadableChannel 
      戻り値:
      基になるリソースのバイトチャネル (null であってはなりません)
      例外:
      FileNotFoundExceptionSE - 基になるリソースが存在しない場合
      IOExceptionSE - コンテンツチャネルを開けなかった場合
      関連事項:
    • contentLength

      public long contentLength() throws IOExceptionSE
      このメソッドは、InputStream 全体を読み取ってコンテンツの長さを決定します。

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

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

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

      protected FileSE getFileForLastModifiedCheck() throws IOExceptionSE
      タイムスタンプチェックに使用するファイルを決定します。

      デフォルトの実装は getFile() に委譲します。

      戻り値:
      タイムスタンプのチェックに使用するファイル (非 null)
      例外:
      FileNotFoundExceptionSE - リソースが絶対ファイルパスとして解決できない場合、つまりファイルシステムで使用できない場合
      IOExceptionSE - 一般的な解決 / 読み取りエラーの場合
    • createRelative

      public Resource createRelative(StringSE relativePath) throws IOExceptionSE
      この実装は、このリソースに対して相対リソースを作成できないと想定して、FileNotFoundException をスローします。
      次で指定:
      インターフェース ResourcecreateRelative 
      パラメーター:
      relativePath - 相対パス (このリソースに関連して)
      戻り値:
      相対リソースのリソースハンドル
      例外:
      IOExceptionSE - 相対リソースを決定できない場合
    • getFilename

      @Nullable public StringSE getFilename()
      この実装は、このリソース型にファイル名がないと仮定して、常に null を返します。
      次で指定:
      インターフェース ResourcegetFilename 
    • equals

      public boolean equals(@Nullable ObjectSE other)
      この実装は、説明文字列を比較します。
      オーバーライド:
      クラス ObjectSEequalsSE 
      関連事項:
    • hashCode

      public int hashCode()
      この実装は、説明のハッシュコードを返します。
      オーバーライド:
      クラス ObjectSEhashCode 
      関連事項:
    • toString

      public StringSE toString()
      この実装は、このリソースの説明を返します。
      オーバーライド:
      クラス ObjectSEtoString 
      関連事項: