CommandImpl (クラス)
public abstract CommandImpl {inherits Command}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
直接継承しているサブクラス: RecordSetDisplayCommand, SelectionContextCommand, SimpleCommand, RecordGridMoveCommand

具象実装を持ち、呼び出し可能なすべての Command のスーパークラス。

説明

CommandImpl は、通常、以下の手順で呼び出されます。

CommandImplパラメータを持っている場合があることに注意してください。これらのパラメータは、検証や実行の前にコマンドに情報を渡すために使用されるもので、コマンドの永続的な状態の一部とは見なされません。このコマンドを新しく呼び出すたびに、メソッド CommandImpl.prepare を呼び出す必要があり、それによってパラメータは既定値にリセットされることに注意してください。規則では、パラメータには、param-my-property というフォームに従って命名する必要があります。

オーバーライド

継承される Command.ensure-updated メソッドが、CommandImpl.enabled? および CommandImpl.prepare の実装によって呼び出されることに注意してください。したがって、CommandImpl のサブクラスは、Command.ensure-updated を呼び出す必要はないはずです。

コンストラクタ
default:この CommandImpl を作成します。
コンストラクタ public {CommandImpl.default name:String}

プロパティ
enabled?:適切なパラメータ設定が適用されるとして、この CommandImpl が実行可能な状態にあるかどうかを調べます。
アクセサ public CommandImpl.enabled?:bool
has-prompt?:このコマンドにプロンプトがあるかどうかを調べます。
アクセサ public CommandImpl.has-prompt?:bool
impl:このコマンドの現在の実装。
アクセサ public CommandImpl.impl:CommandImpl
valid?:CommandImpl とその状態 (パラメータを含む) をすぐに実行できるかどうかを調べます。
アクセサ public CommandImpl.valid?:bool
プロパティ 継承 Command: name
プロパティ 継承 Observable: has-observers?, notify-observers?

メソッド
do-command:コマンド プロトコルを実行します。
public {CommandImpl.do-command allow-prompt?:bool = true}:void
execute:CommandImpl を実行します。
protected abstract {CommandImpl.execute}:void
prepare:使用する CommandImpl を準備します。
public {CommandImpl.prepare}:void
prompt:コマンドを実行する前に、ユーザーから最終的なデータや確認を得ます。
protected {CommandImpl.prompt}:bool
update-completed:Command.update が完了したときに呼び出されます。
protected {CommandImpl.update-completed}:void
メソッド 継承 Command: ensure-updated, note-state-changed, request-update, update
メソッド 継承 Observable: add-observer, notify-observers, remove-observer
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {CommandImpl.default name:String}

この CommandImpl を作成します。

name: このコマンドの名前を示す String



プロパティ詳細
enabled? (アクセサ)
アクセサ public CommandImpl.enabled?:bool

適切なパラメータ設定が適用されるとして、この CommandImpl が実行可能な状態にあるかどうかを調べます。

オーバーライド

実装では、論理値、計算した任意の値、および super.enabled? を返します。


has-prompt? (アクセサ)
アクセサ public CommandImpl.has-prompt?:bool

このコマンドにプロンプトがあるかどうかを調べます。

オーバーライド

このメソッドの既定の実装は false を返し、CommandImpl はプロンプトを表示しません。実行時の情報とエンドユーザーからの確認の一方または両方を要求するサブクラスは、このメソッドと CommandImpl.prompt をオーバーライドする必要があります。


impl (アクセサ)
アクセサ public CommandImpl.impl:CommandImpl

このコマンドの現在の実装。



valid? (アクセサ)
アクセサ public CommandImpl.valid?:bool

CommandImpl とその状態 (パラメータを含む) をすぐに実行できるかどうかを調べます。

オーバーライド

実行前にコマンドの状態について最終的な実行時チェックを必要とするサブクラスは、このゲッターをオーバーライドする必要があります。これらの実装は、論理値、計算した任意の値、および super.valid? を返します。





メソッド詳細
do-command (メソッド)
public {CommandImpl.do-command allow-prompt?:bool = true}:void

コマンド プロトコルを実行します。

説明

これは、通常このコマンドの呼び出しに使用されるメソッドです。

コマンド プロトコルは、パラメータの入力を促し (オプション)、パラメータを検証し、実行するという構成になっています。

要求されたコマンドを実行できなかった場合は、CommandException をスローします。
allow-prompt?: ブール値。true の場合で、このコマンドのプロンプトが存在する場合、ユーザーはパラメータを変更し、コマンドの実行の前に確認するように促されます。プロンプトが定義されていない場合、この引数は無視されます (この詳細については、CommandImpl.has-prompt? を参照してください)。

オーバーライド

通常はオーバーライドされません。サブクラスでは、代わりにメソッド CommandImpl.promptCommandImpl.valid?、および CommandImpl.execute をオーバーライドしてください。


execute (メソッド)
protected abstract {CommandImpl.execute}:void

CommandImpl を実行します。

説明

ユーザーは、このメソッドを直接呼び出すべきではありません。代わりに、CommandImpl.do-command の呼び出しを考えてください。これは、実際の実行前に必要な任意の検証とプロンプト表示を含んでいます。


prepare (メソッド)
public {CommandImpl.prepare}:void

使用する CommandImpl を準備します。

説明

このメソッドは、常に、コマンドを操作または実行する任意のアプリケーション コード ブロックの前に呼び出す必要があります。たとえば、このメソッドは、コマンドが適切に更新され、その既定値にリセットされていることを保証します。

オーバーライド

実装では、メソッドの最初でこのメソッドのスーパー実装を呼び出す必要があります。


prompt (メソッド)
protected {CommandImpl.prompt}:bool

コマンドを実行する前に、ユーザーから最終的なデータや確認を得ます。

戻り値

ユーザーがデータ提供後にコマンドの継続を選択した場合は true です。それ以外の場合は false です。

オーバーライド

このメソッドが実装されている場合、CommandImpl.has-prompt? も同様にオーバーライドする必要があります。また、コマンドが valid? である場合にこのメソッドによって true だけが返されることも保証する必要があります。


update-completed (メソッド)
protected {CommandImpl.update-completed}:void

Command.update が完了したときに呼び出されます。

説明

このメソッドは、Command.update の呼び出しが完了した後で、コマンドが (潜在的に) 新しい状態についてオブザーバーに通知する前に、直接呼び出されます。 これは、サブクラスがコマンドの状態が変更されたことを認識して、Command.note-state-changed を呼び出す最後の機会を示します。また、これは、サブクラスが新しく更新されたコマンドの任意の要素をキャッシュする機会でもあります。

このメソッドは、通常、サブクラスからは呼び出されません。

オーバーライド

実装では、パブリックに可視であるコマンドの状態をこのメソッドで変更すべきではないことに注意してください。また、このメソッド内からの Command.request-update の呼び出しでは何も行なわれません。

実装では、通常、このメソッドの最初に super.update-completed を呼び出す必要があります。