27.3. pidgins
コマンドは、さまざまな Visitors で処理されます。以下に表示されているこれらのインターフェースは、システム内のさまざまなタイプのコマンドにアクセスするためのメソッドを公開します。これにより、呼び出しに動作を追加するタイプセーフメカニズムを利用できます。コマンドは 'Visitor's によって処理されます。以下に表示されているこれらのインターフェースは、システム内のさまざまなタイプのコマンドにアクセスするためのメソッドを公開します。これにより、呼び出しに動作を追加するためのタイプセーフメカニズムが提供されます。
---
public interface Vistor {
Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable;
Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable;
Object visitReplaceCommand(InvocationContext ctx, ReplaceCommand command) throws Throwable;
Object visitClearCommand(InvocationContext ctx, ClearCommand command) throws Throwable;
Object visitPutMapCommand(InvocationContext ctx, PutMapCommand command) throws Throwable;
- etc … } ---
org.infinispan.commands パッケージの AbstractVisitor クラスは、これらの各メソッドの no-op 実装で提供されます。その後、実際の実装には、興味のあるコマンドに対してのみ上書きする必要があるため、非常に簡潔で、テスト可能な実装が可能になります。