2017-11-23 30 views
1

入力引数の前提条件を指定したい場合は、KNIMEノードを作成するときの慣用方法は何ですか?KNIMEで条件を要求/アサートする方法は?

assert(condition, message)を使用すると、効率的でシンプルな場合があります。そのチェックは、VM引数-eaに依存していると考えられます。

if (condition) throw new IllegalArgumentException(message);で手動でチェックするほうが良いようですが、たとえばnullをチェックするだけでは意味が分かりません。

org.knime.core.node.InvalidSettingsException例外もあります。それはこの目的のために使用すべきでしょうか?

KNIMEで使用する必要があるメソッドのコレクションはありますか?

答えて

1

はい、間違った入力を通知するには、org.knime.core.node.util.CheckUtils(org.knime.core.utilバンドル)の特殊な方法があります。

  • nullチェック:checkNotNullcheckArgumentNotNullcheckSettingNotNull
  • 引数:checkArgument
  • 状態:checkState
  • 設定(UIからまたは変数をフロー):checkSetting
  • ファイルそれはのための方法を有しています:checkDestinationFile,checkSourceFile,checkDestinationDirectory

これにより、チェックに失敗したときにのみ展開されるメッセージにテンプレートを使用できます。

例の用途はthis queryです。

+1

はい、ノードモデルの 'configure'メソッドに' InvalidSettingsException'を投げるべきです。また、設定モデルの中の入力を制約する 'SettingsModelIntegerBounded'のような設定モデルそのものを調べる価値があります。 – SteveR

+0

@SteveRおそらく私は不明ですが、' checkSetting'はそのために使用されます。 (これはチェックされた例外です。) –

関連する問題