public class VfsResource extends AbstractResource
Resource
実装。Spring 4.0 の時点で、このクラスは JBoss AS 6+(パッケージ org.jboss.vfs
)で VFS 3.x をサポートし、特に JBoss AS7 および WildFly 8+ と互換性があります。
VirtualFile
コンストラクターと説明 |
---|
VfsResource(ObjectSE resource) 指定されたリソースハンドルをラップする新しい VfsResource を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
long | contentLength() このメソッドは、InputStream 全体を読み取ってコンテンツの長さを決定します。 |
Resource | createRelative(StringSE relativePath) この実装は、このリソースに対して相対リソースを作成できないと想定して、FileNotFoundException をスローします。 |
boolean | equals(ObjectSE other) この実装は、説明文字列を比較します。 |
boolean | exists() この実装は、ファイルを開くことができるかどうかをチェックし、InputStream を開くことができるかどうかにフォールバックします。 |
StringSE | getDescription() このリソースの説明を返します。これは、リソースを操作する際のエラー出力に使用されます。 |
FileSE | getFile() この実装は、リソースを絶対ファイルパスに解決できないと想定して、FileNotFoundException をスローします。 |
StringSE | getFilename() この実装は、このリソース型にファイル名がないと仮定して、常に null を返します。 |
InputStreamSE | getInputStream() 基礎となるリソースのコンテンツの InputStream SE を返します。 |
URISE | getURI() この実装は、 AbstractResource.getURL() によって返された URL に基づいて URI を構築します。 |
URLSE | getURL() この実装は、リソースを URL に解決できないと想定して、FileNotFoundException をスローします。 |
int | hashCode() この実装は、説明のハッシュコードを返します。 |
boolean | isReadable() この実装は、 exists (5.1 の時点で改訂された)というリソースに対して、常に true を返します。 |
long | lastModified() この実装は、使用可能な場合、元となるファイルのタイムスタンプをチェックします。 |
getFileForLastModifiedCheck, isFile, isOpen, readableChannel, toString
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public VfsResource(ObjectSE resource)
VfsResource
を作成します。resource
- org.jboss.vfs.VirtualFile
インスタンス (VFS API への静的な依存関係を回避するために型なし)public InputStreamSE getInputStream() throws IOExceptionSE
InputStreamSource
InputStream
SE を返します。各呼び出しで新しいストリームが作成されることが予想されます。
この要件は、JavaMail などの API を考慮する場合に特に重要です。JavaMail では、メールの添付ファイルを作成するときにストリームを複数回読み取ることができる必要があります。このようなユースケースでは、各 getInputStream()
コールが新しいストリームを返す必要があります。
null
であってはなりません)FileNotFoundExceptionSE
- 基盤となるリソースが存在しない場合 IOExceptionSE
- コンテンツストリームを開けなかった場合 Resource.isReadable()
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 URLSE getURL() throws IOExceptionSE
AbstractResource
Resource
の getURL
AbstractResource
の getURL
IOExceptionSE
- リソースを URL として解決できない場合、つまりリソースが記述子として利用できない場合 public URISE getURI() throws IOExceptionSE
AbstractResource
AbstractResource.getURL()
によって返された URL に基づいて URI を構築します。Resource
の getURI
AbstractResource
の getURI
IOExceptionSE
- リソースが URI として解決できない場合、つまりリソースが記述子として利用できない場合 public FileSE getFile() throws IOExceptionSE
AbstractResource
Resource
の getFile
AbstractResource
の getFile
FileNotFoundExceptionSE
- リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合 IOExceptionSE
- 一般的な解決 / 読み取りエラーの場合 InputStreamSource.getInputStream()
public long contentLength() throws IOExceptionSE
AbstractResource
InputStreamResource
のカスタムサブクラスの場合、このメソッドをより最適な実装でオーバーライドすることを強くお勧めします。ファイルの長さをチェックします。ストリームが 1 回しか読み取れない場合は、単純に -1 を返します。
Resource
の contentLength
AbstractResource
の contentLength
IOExceptionSE
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)InputStreamSource.getInputStream()
public long lastModified() throws IOExceptionSE
AbstractResource
Resource
の lastModified
AbstractResource
の lastModified
IOExceptionSE
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)AbstractResource.getFileForLastModifiedCheck()
public Resource createRelative(StringSE relativePath) throws IOExceptionSE
AbstractResource
Resource
の createRelative
AbstractResource
の createRelative
relativePath
- 相対パス (このリソースに関連して)IOExceptionSE
- 相対リソースを決定できない場合 public StringSE getFilename()
AbstractResource
null
を返します。Resource
の getFilename
AbstractResource
の getFilename
public StringSE getDescription()
Resource
実装では、toString
メソッドからこの値を返すことも推奨されます。
Object.toString()
SEpublic boolean equals(@Nullable ObjectSE other)
AbstractResource
AbstractResource
の equals
Resource.getDescription()
public int hashCode()
AbstractResource
AbstractResource
の hashCode
Resource.getDescription()