public abstract class AbstractResource extends ObjectSE implements Resource
Resource
実装の便利な基本クラスで、典型的な動作を事前実装します。"exists" メソッドは、ファイルまたは InputStream を開くことができるかどうかを確認します。"isOpen" は常に false を返します。"getURL" と "getFile" は例外をスローします。"toString" は説明を返します。
コンストラクターと説明 |
---|
AbstractResource() |
修飾子と型 | メソッドと説明 |
---|---|
long | contentLength() このメソッドは、InputStream 全体を読み取ってコンテンツの長さを決定します。 |
Resource | createRelative(StringSE relativePath) この実装は、このリソースに対して相対リソースを作成できないと想定して、FileNotFoundException をスローします。 |
boolean | equals(ObjectSE other) この実装は、説明文字列を比較します。 |
boolean | exists() この実装は、ファイルを開くことができるかどうかをチェックし、InputStream を開くことができるかどうかにフォールバックします。 |
FileSE | getFile() この実装は、リソースを絶対ファイルパスに解決できないと想定して、FileNotFoundException をスローします。 |
protected FileSE | getFileForLastModifiedCheck() タイムスタンプチェックに使用するファイルを決定します。 |
StringSE | getFilename() この実装は、このリソース型にファイル名がないと仮定して、常に null を返します。 |
URISE | getURI() この実装は、 getURL() によって返された URL に基づいて URI を構築します。 |
URLSE | getURL() この実装は、リソースを URL に解決できないと想定して、FileNotFoundException をスローします。 |
int | hashCode() この実装は、説明のハッシュコードを返します。 |
boolean | isFile() この実装は、常に false を返します。 |
boolean | isOpen() この実装は、常に false を返します。 |
boolean | isReadable() この実装は、 exists (5.1 の時点で改訂された)というリソースに対して、常に true を返します。 |
long | lastModified() この実装は、使用可能な場合、元となるファイルのタイムスタンプをチェックします。 |
ReadableByteChannelSE | readableChannel() この実装は、 InputStreamSource.getInputStream() の結果とともに Channels.newChannel(InputStream) SE を返します。 |
StringSE | toString() この実装は、このリソースの説明を返します。 |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getDescription
getInputStream
public boolean exists()
これは、ディレクトリとコンテンツリソースの両方をカバーします。
public boolean isReadable()
exists
(5.1 の時点で改訂された)というリソースに対して、常に true
を返します。Resource
の isReadable
InputStreamSource.getInputStream()
, Resource.exists()
public boolean isFile()
false
を返します。Resource
の isFile
Resource.getFile()
public URLSE getURL() throws IOExceptionSE
Resource
の getURL
IOExceptionSE
- リソースを URL として解決できない場合、つまりリソースが記述子として使用できない場合 public URISE getURI() throws IOExceptionSE
getURL()
によって返された URL に基づいて URI を構築します。Resource
の getURI
IOExceptionSE
- リソースを URI として解決できない場合、つまりリソースが記述子として使用できない場合 public FileSE getFile() throws IOExceptionSE
Resource
の getFile
FileNotFoundExceptionSE
- リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合 IOExceptionSE
- 一般的な解決 / 読み取りエラーの場合 InputStreamSource.getInputStream()
public ReadableByteChannelSE readableChannel() throws IOExceptionSE
InputStreamSource.getInputStream()
の結果とともに Channels.newChannel(InputStream)
SE を返します。 これは Resource
の対応するデフォルトのメソッドと同じですが、クラス階層での効率的な JVM レベルのディスパッチのためにここでミラーリングされます。
Resource
の readableChannel
null
であってはなりません)FileNotFoundExceptionSE
- 基になるリソースが存在しない場合 IOExceptionSE
- コンテンツチャネルを開けなかった場合 InputStreamSource.getInputStream()
public long contentLength() throws IOExceptionSE
InputStreamResource
のカスタムサブクラスの場合、このメソッドをより最適な実装でオーバーライドすることを強くお勧めします。ファイルの長さをチェックするか、ストリームを 1 回しか読み取れない場合は単に -1 を返します。
Resource
の contentLength
IOExceptionSE
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)InputStreamSource.getInputStream()
public long lastModified() throws IOExceptionSE
Resource
の lastModified
IOExceptionSE
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)getFileForLastModifiedCheck()
protected FileSE getFileForLastModifiedCheck() throws IOExceptionSE
デフォルトの実装は getFile()
に委譲します。
null
)FileNotFoundExceptionSE
- リソースが絶対ファイルパスとして解決できない場合、つまりファイルシステムで使用できない場合 IOExceptionSE
- 一般的な解決 / 読み取りエラーの場合 public Resource createRelative(StringSE relativePath) throws IOExceptionSE
Resource
の createRelative
relativePath
- 相対パス (このリソースに関連して)IOExceptionSE
- 相対リソースを決定できない場合 @Nullable public StringSE getFilename()
null
を返します。Resource
の getFilename
public boolean equals(@Nullable ObjectSE other)
ObjectSE
の equalsSE
Resource.getDescription()
public int hashCode()
ObjectSE
の hashCodeSE
Resource.getDescription()
public StringSE toString()
ObjectSE
の toStringSE
Resource.getDescription()