クラス AbstractRemoteFileOutboundGateway<F>

型パラメーター:
F - ファイル型。
実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>AwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareOrderedExpressionCapableOrderableMessageProducerHeaderPropagationAwareIntegrationPatternNamedComponentIntegrationManagementTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>
既知の直属サブクラス
FtpOutboundGatewaySftpOutboundGatewaySmbOutboundGateway

public abstract class AbstractRemoteFileOutboundGateway<F> extends AbstractReplyProducingMessageHandler
リモートファイル操作を実行する送信ゲートウェイの基本クラス。
導入:
2.1
作成者:
Gary Russell, Artem Bilan, Mauro Molinari
  • コンストラクターの詳細

    • AbstractRemoteFileOutboundGateway

      public AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory, MessageSessionCallback<F,?> messageSessionCallback)
      提供されたセッションファクトリとセッションで操作を実行するためのコールバックを使用してインスタンスを構築します。
      パラメーター:
      sessionFactory - セッションファクトリ。
      messageSessionCallback - コールバック。
    • AbstractRemoteFileOutboundGateway

      public AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate, MessageSessionCallback<F,?> messageSessionCallback)
      提供されたリモートファイルテンプレートと、セッションで操作を実行するためのコールバックを使用してインスタンスを構築します。
      パラメーター:
      remoteFileTemplate - リモートファイルテンプレート。
      messageSessionCallback - コールバック。
    • AbstractRemoteFileOutboundGateway

      public AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory, StringSE command, @Nullable StringSE expression)
      提供されたセッションファクトリ、コマンド ('ls'、'get' など)、ファイル名を決定する式を使用してインスタンスを構築します。
      パラメーター:
      sessionFactory - セッションファクトリ。
      command - コマンド。
      expression - ファイル名式。
    • AbstractRemoteFileOutboundGateway

      public AbstractRemoteFileOutboundGateway(SessionFactory<F> sessionFactory, AbstractRemoteFileOutboundGateway.Command command, @Nullable StringSE expression)
      提供されたセッションファクトリ、コマンド ('ls'、'get' など)、ファイル名を決定する式を使用してインスタンスを構築します。
      パラメーター:
      sessionFactory - セッションファクトリ。
      command - コマンド。
      expression - ファイル名式。
    • AbstractRemoteFileOutboundGateway

      public AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate, StringSE command, @Nullable StringSE expression)
      提供された リモートファイルテンプレート、コマンド ('ls'、'get' など)、ファイル名を決定する式を使用してインスタンスを構築します。
      パラメーター:
      remoteFileTemplate - リモートファイルテンプレート。
      command - コマンド。
      expression - ファイル名式。
    • AbstractRemoteFileOutboundGateway

      public AbstractRemoteFileOutboundGateway(RemoteFileTemplate<F> remoteFileTemplate, AbstractRemoteFileOutboundGateway.Command command, @Nullable StringSE expressionArg)
      提供された リモートファイルテンプレート、コマンド ('ls'、'get' など)、ファイル名を決定する式を使用してインスタンスを構築します。
      パラメーター:
      remoteFileTemplate - リモートファイルテンプレート。
      command - コマンド。
      expressionArg - ファイル名式。
  • メソッドの詳細

    • remoteFileTemplateExplicitlySet

      protected final void remoteFileTemplateExplicitlySet(boolean remoteFileTemplateExplicitlySet)
    • assertRemoteFileTemplateMutability

      protected void assertRemoteFileTemplateMutability(StringSE propertyName)
    • setOptions

      public void setOptions(StringSE options)
      さまざまなゲートウェイコマンドのオプションをスペース区切りの文字列として指定します。
      パラメーター:
      options - 設定するオプション
      関連事項:
    • setOption

      public void setOption(AbstractRemoteFileOutboundGateway.Option... options)
      さまざまなゲートウェイコマンドのオプションの配列を指定します。
      パラメーター:
      options - 使用する AbstractRemoteFileOutboundGateway.Option 配列。
      導入:
      5.0
      関連事項:
    • setRemoteFileSeparator

      public void setRemoteFileSeparator(StringSE remoteFileSeparator)
      リモートファイルを処理するときにファイル区切り文字を設定します。デフォルト '/'。
      パラメーター:
      remoteFileSeparator - セパレータ。
      関連事項:
    • setLocalDirectory

      public void setLocalDirectory(FileSE localDirectory)
      リモートファイルの転送先のディレクトリパスを指定します。
      パラメーター:
      localDirectory - 設定する localDirectory
    • setLocalDirectoryExpression

      public void setLocalDirectoryExpression(Expression localDirectoryExpression)
      リモートファイルの転送先のディレクトリパスを評価する SpEL 式を指定します。
      パラメーター:
      localDirectoryExpression - ローカルディレクトリを決定する SpEL。
    • setLocalDirectoryExpressionString

      public void setLocalDirectoryExpressionString(StringSE localDirectoryExpression)
      リモートファイルの転送先のディレクトリパスを評価する SpEL 式を指定します。
      パラメーター:
      localDirectoryExpression - ローカルディレクトリを決定する SpEL。
      導入:
      5.0
    • setAutoCreateLocalDirectory

      public void setAutoCreateLocalDirectory(boolean autoCreateLocalDirectory)
      ローカルディレクトリを自動的に作成する必要があるかどうかを識別する boolean フラグ。デフォルトは true です。
      パラメーター:
      autoCreateLocalDirectory - 設定する autoCreateLocalDirectory
    • setTemporaryFileSuffix

      public void setTemporaryFileSuffix(StringSE temporaryFileSuffix)
      リモートシステムにファイルを転送するときに使用する一時的なサフィックスを設定します。デフォルト .writing
      パラメーター:
      temporaryFileSuffix - 設定する temporaryFileSuffix
      関連事項:
    • setAutoCreateDirectory

      public void setAutoCreateDirectory(boolean autoCreateDirectory)
      ファイルをリモートシステムに送信するときに、リモートディレクトリを自動的に作成するかどうかを決定します。
      パラメーター:
      autoCreateDirectory - ディレクトリを作成する場合は true。
      導入:
      5.2
      関連事項:
    • setRemoteDirectoryExpression

      public void setRemoteDirectoryExpression(Expression remoteDirectoryExpression)
      ファイルの送信先となるリモートディレクトリの判別に使用されるリモートディレクトリ式を設定します。
      パラメーター:
      remoteDirectoryExpression - リモートディレクトリ式。
      導入:
      5.2
      関連事項:
    • setTemporaryRemoteDirectoryExpression

      public void setTemporaryRemoteDirectoryExpression(Expression temporaryRemoteDirectoryExpression)
      一時的なリモートディレクトリ式を設定します。ファイルをリモートシステムに転送するときに使用されます。転送に成功すると、remoteDirectoryExpression を使用してファイルの名前が変更されます。
      パラメーター:
      temporaryRemoteDirectoryExpression - 一時的なリモートディレクトリ式。
      導入:
      5.2
      関連事項:
    • setFileNameExpression

      public void setFileNameExpression(Expression fileNameExpression)
      ファイル名の式を設定して、リモートファイルへの絶対パスを決定します。
      パラメーター:
      fileNameExpression - ファイル名式。
      導入:
      5.2
      関連事項:
    • setUseTemporaryFileName

      public void setUseTemporaryFileName(boolean useTemporaryFileName)
      リモートシステムにファイルを送信するときに一時ファイル名を使用するかどうかを設定します。
      パラメーター:
      useTemporaryFileName - 一時ファイル名を使用する場合は true。
      導入:
      5.2
      関連事項:
    • setFileNameGenerator

      public void setFileNameGenerator(FileNameGenerator fileNameGenerator)
      ファイルをリモートシステムに転送するときに使用されるリモートファイル名の生成に使用されるファイル名ジェネレーターを設定します。
      パラメーター:
      fileNameGenerator - ファイル名ジェネレーター。
      導入:
      5.2
      関連事項:
    • setCharset

      public void setCharset(StringSE charset)
      文字列ペイロードをリモートファイルのコンテンツとしてバイトに変換するときに使用する文字セットを設定します。デフォルト UTF-8
      パラメーター:
      charset - 文字セット。
      導入:
      5.2
      関連事項:
    • setFilter

      public void setFilter(FileListFilter<F> filter)
      リモートファイルをフィルタリングするように FileListFilter を設定します。
      パラメーター:
      filter - 設定するフィルター
    • setMputFilter

      public void setMputFilter(FileListFilter<FileSE> filter)
      MPUT コマンドの使用時にローカルファイルシステムビューに対して実行される FileListFilter
      パラメーター:
      filter - 設定するフィルター
    • setRenameExpression

      public void setRenameExpression(Expression renameExpression)
      転送中にファイル名を変更するための SpEL 式を指定します。
      パラメーター:
      renameExpression - 使用する式。
      導入:
      4.3
    • setRenameExpressionString

      public void setRenameExpressionString(StringSE renameExpression)
      転送中にファイル名を変更するための SpEL 式を指定します。
      パラメーター:
      renameExpression - SpEL 構文の文字列。
      導入:
      4.3
    • setLocalFilenameGeneratorExpression

      public void setLocalFilenameGeneratorExpression(Expression localFilenameGeneratorExpression)
      ダウンロード後にローカルファイルの名前を変更するための SpEL 式を指定します。
      パラメーター:
      localFilenameGeneratorExpression - 使用する式。
      導入:
      3.0
    • setLocalFilenameGeneratorExpressionString

      public void setLocalFilenameGeneratorExpressionString(StringSE localFilenameGeneratorExpression)
      ダウンロード後にローカルファイルの名前を変更するための SpEL 式を指定します。
      パラメーター:
      localFilenameGeneratorExpression - SpEL 構文の文字列。
      導入:
      4.3
    • setFileExistsMode

      public void setFileExistsMode(FileExistsMode fileExistsMode)
      ファイルがすでにローカルに存在する場合に GET および MGET 操作を使用する場合、またはファイルがリモートシステムに存在する場合に PUT および MPUT を使用する場合に実行するアクションを決定します。
      パラメーター:
      fileExistsMode - 設定する fileExistsMode。
      導入:
      4.2
    • setChmodOctal

      public void setChmodOctal(StringSE chmod)
      Spring XML の利便性のためのストリング setter。
      パラメーター:
      chmod - 8 進数の文字列としてのアクセス許可(例: "600")。
      導入:
      4.3
      関連事項:
    • setChmod

      public void setChmod(int chmod)
      アップロード後にファイルのアクセス許可を設定します。所有者の読み取り / 書き込みの場合は 0600。
      パラメーター:
      chmod - 許可。
      導入:
      4.3
    • isChmodCapable

      public boolean isChmodCapable()
    • getRemoteFileTemplate

      protected final RemoteFileTemplate<F> getRemoteFileTemplate()
    • doInit

      protected void doInit()
      オーバーライド:
      クラス AbstractReplyProducingMessageHandlerdoInit 
    • handleRequestMessage

      protected ObjectSE handleRequestMessage(Message<?> requestMessage)
      クラスからコピーされた説明: AbstractReplyProducingMessageHandler
      サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。
      次で指定:
      クラス AbstractReplyProducingMessageHandlerhandleRequestMessage 
      パラメーター:
      requestMessage - リクエストメッセージ。
      戻り値:
      メッセージを処理した結果、または null
    • nlst

      protected ListSE<StringSE> nlst(Message<?> message, Session<F> session, StringSE dir) throws IOExceptionSE
      指定されたディレクトリのリモートファイル名を一覧表示します。メッセージは、現在のリクエストに関連するいくつかのコンテキストについて調べることができます。デフォルトの実装では使用されません。
      パラメーター:
      message - 現在のリクエストに関連するメッセージ
      session - list file names コマンドを実行するセッション
      dir - ファイル名をリストするリモートディレクトリ
      戻り値:
      指定されたディレクトリ内のファイル / ディレクトリ名のリスト
      例外:
      IOExceptionSE - リモートコマンドの実行中の IO 例外
      導入:
      5.0
    • rm

      protected boolean rm(Message<?> message, Session<F> session, StringSE remoteFilePath) throws IOExceptionSE
      指定されたパスに対してリモート削除を実行します。メッセージを参照して、コンテキストを判別できます。デフォルトの実装では使用されません。
      パラメーター:
      message - 削除するパスに関連するリクエストメッセージ
      session - 削除コマンドを実行するためのリモートプロトコルセッション
      remoteFilePath - 削除するリモートパス
      戻り値:
      リモート削除の結果として true または false
      例外:
      IOExceptionSE - リモートコマンドの実行中の IO 例外
      導入:
      5.0
    • mv

      protected boolean mv(Message<?> message, Session<F> session, StringSE remoteFilePath, StringSE remoteFileNewPath) throws IOExceptionSE
      リモートパスを別のパスに移動します。メッセージを参照して、コンテキストを判別できます。デフォルトの実装では使用されません。
      パラメーター:
      message - この移動コマンドに関連するリクエストメッセージ
      session - 移動コマンドを実行するためのリモートプロトコルセッション
      remoteFilePath - ソースリモートパス
      remoteFileNewPath - ターゲットリモートパス
      戻り値:
      操作の結果として true または false
      例外:
      IOExceptionSE - リモートコマンドの実行中の IO 例外
      導入:
      5.0
    • put

      protected StringSE put(Message<?> message, Session<F> session, StringSE subDirectory)
      メッセージに基づいてファイルをリモートサーバーに書き込みます。メッセージを参照して、コンテキストを判別できます。セッション引数は、デフォルトの実装では使用されません。
      パラメーター:
      message - この put コマンドに関連するリクエストメッセージ
      session - この呼び出しコンテキストに関連するリモートプロトコルセッション
      subDirectory - 配置するターゲットのサブディレクトリ
      戻り値:
      リモートパス。ローカルファイルが見つからなかった場合は null。
      導入:
      5.0
    • doChmod

      protected void doChmod(RemoteFileOperations<F> remoteFileOperations, StringSE path, int chmodToSet)
      転送後にリモートファイルでモードを設定します。デフォルトの実装は何もしません。
      パラメーター:
      remoteFileOperations - リモートファイルテンプレート。
      path - パス。
      chmodToSet - 設定する chmod。
      導入:
      4.3
    • mPut

      protected ListSE<StringSE> mPut(Message<?> message, Session<F> session, FileSE localDir)
      提供されたディレクトリからリモートサーバーにファイルを再帰的に配置します。メッセージを参照して、コンテキストを判別できます。セッション引数は、デフォルトの実装では使用されません。
      パラメーター:
      message - この mPut コマンドに関連するリクエストメッセージ
      session - この呼び出しコンテキストのリモートプロトコルセッション
      localDir - サーバーに出力するローカルディレクトリ
      戻り値:
      送信されたファイルのリモートパスのリスト
      導入:
      5.0
    • ls

      protected ListSE<?> ls(Message<?> message, Session<F> session, StringSE dir) throws IOExceptionSE
      リモートファイルをローカル表現にリストします。現在のリクエストのコンテキストについては、メッセージを参照できます。デフォルトの実装では使用されません。
      パラメーター:
      message - リストリクエストに関連するメッセージ
      session - list コマンドを実行するセッション
      dir - コンテンツをリストするリモートディレクトリ
      戻り値:
      リモートファイルのリスト
      例外:
      IOExceptionSE - リモートコマンドの実行中の IO 例外
    • filterFiles

      protected final ListSE<F> filterFiles(F[] files)
    • filterFile

      protected final F filterFile(F file)
    • filterMputFiles

      protected final ListSE<FileSE> filterMputFiles(FileSE[] files)
    • purgeLinks

      protected void purgeLinks(ListSE<F> lsFiles)
    • purgeDots

      protected void purgeDots(ListSE<F> lsFiles)
    • get

      protected FileSE get(Message<?> message, Session<F> session, StringSE remoteDir, StringSE remoteFilePath, StringSE remoteFilename, F fileInfoParam) throws IOExceptionSE
      リモートファイルを構成済みのローカルディレクトリにコピーします。
      パラメーター:
      message - メッセージ。
      session - セッション。
      remoteDir - リモートディレクトリ。
      remoteFilePath - リモートファイルのパス。
      remoteFilename - リモートファイル名。
      fileInfoParam - リモートファイル情報。null の場合、最初に "ls" コマンドを実行します。
      戻り値:
      ファイル。
      例外:
      IOExceptionSE - IOException。
    • mGet

      protected ListSE<FileSE> mGet(Message<?> message, Session<F> session, StringSE remoteDirectory, StringSE remoteFilename) throws IOExceptionSE
      例外:
      IOExceptionSE
    • getFullFileName

      protected StringSE getFullFileName(StringSE remoteDirectory, F remoteFile)
      デフォルトでは、このメソッドは リモートファイル名を使用して リモートディレクトリにアクセスし、完全な リモートファイルパスを構築します。リモートファイルプロトコル固有の実装は、他のアプローチのためにこのメソッドをオーバーライドする場合があります。
      パラメーター:
      remoteDirectory - リモートファイルが属するディレクトリ。
      remoteFile - リモートファイルに名前を付け、指定された リモートディレクトリに従ってパスを調整します。
      戻り値:
      リモートファイルのフルパス
    • getRemoteFilename

      protected StringSE getRemoteFilename(StringSE remoteFilePath)
      パラメーター:
      remoteFilePath - リモートファイルのパス。
      戻り値:
      リモートファイル名。
    • isDirectory

      protected abstract boolean isDirectory(F file)
    • isLink

      protected abstract boolean isLink(F file)
    • getFilename

      protected abstract StringSE getFilename(F file)
    • getFilename

      protected abstract StringSE getFilename(AbstractFileInfo<F> file)
    • getModified

      protected abstract long getModified(F file)
    • asFileInfoList

      protected abstract ListSE<AbstractFileInfo<F>> asFileInfoList(CollectionSE<F> files)
    • enhanceNameWithSubDirectory

      protected abstract F enhanceNameWithSubDirectory(F file, StringSE directory)