DefaultIOEventTarget (クラス)
public abstract DefaultIOEventTarget {inherits IOEventTarget}
パッケージ: CURL.IO.SOCKET
直接継承しているサブクラス: SocketEventTarget

InputOutput イベントを生成できるすべてのものが実装するクラス。

注意事項

スレッド セーフではありません。

コンストラクタ
default:
コンストラクタ public {DefaultIOEventTarget.default}

プロパティ
doing-event-dispatch?:
フィールド protected DefaultIOEventTarget.doing-event-dispatch?:bool
event-enabled?:self のイベントがモニタされる準備ができている場合は true を返します。
アクセサ public abstract DefaultIOEventTarget.event-enabled?:bool
handlers:現在のすべてのハンドラの #{FastArray-of #IOEventHandlerInfo} を返します。既定の実装では、null を返します。
アクセサ protected DefaultIOEventTarget.handlers:#{FastArray-of #IOEventHandlerInfo}
saved-event-classes:
フィールド protected DefaultIOEventTarget.saved-event-classes:#{FastArray-of ClassType}
saved-event-classes-valid?:
フィールド protected DefaultIOEventTarget.saved-event-classes-valid?:bool
soonest-expiration:すべてのハンドラの最も早い失効日を返します。
アクセサ public DefaultIOEventTarget.soonest-expiration:#DateTimeData
プロパティ 継承 EventTarget: event-handlers

メソッド
add-event-handler:指定された型の IOEventEventHandler を追加または変更します (非タイムアウト クラスのみ。タイムアウト イベントには IOEventTarget.add-timeout-event-handler を使用します)。
public {DefaultIOEventTarget.add-event-handler
event-handler:EventHandler
}:void
add-targeted-event-handler:指定した event-target のイベント ハンドラを追加します。
protected {DefaultIOEventTarget.add-targeted-event-handler
event-handler:EventHandler,
event-target:IOEventTarget = self,
timeout:Time = IOEventTarget.infinite-timeout
}:EventHandler
add-timeout-event-handler:IOTimeoutEvent の特定のサブタイプの EventHandler を追加または変更します。
public {DefaultIOEventTarget.add-timeout-event-handler
event-handler:EventHandler,
timeout:Time
}:void
begin-event-enabled:この DefaultIOEventTargetDefaultIOEventTarget.event-enabled? になったときに行う必要がある登録を実行します。
public {DefaultIOEventTarget.begin-event-enabled}:void
begin-using-handlers:DefaultIOEventTarget.handlers を呼び出すルーチンおよび関連するルーチンが handlers 配列の使用を開始しようとするときに、それらのルーチンによって呼び出されます。既定の実装では何も行われません。
protected {DefaultIOEventTarget.begin-using-handlers}:void
call-handler:これは、関連するハンドラを実際に呼び出すために呼び出されます。
protected {DefaultIOEventTarget.call-handler
event:IOEvent,
handler:EventHandler,
event-target:IOEventTarget,
now:#DateTimeData = null
}:void
end-event-enabled:この DefaultIOEventTargetDefaultIOEventTarget.event-enabled? ではなくなったときに行う必要がある登録解除を実行します。
public {DefaultIOEventTarget.end-event-enabled}:void
end-using-handlers:DefaultIOEventTarget.handlers を呼び出すルーチンおよび関連するルーチンが handlers 配列で実行されるときに、それらのルーチンによって呼び出されます (配列が null ではない場合。null の場合は呼び出されるかどうかはわかりません)。既定の実装では何も行われません。
protected {DefaultIOEventTarget.end-using-handlers}:void
enqueue-timeout:タイムアウトのハンドラをすべて呼び出します。
public {DefaultIOEventTarget.enqueue-timeout
now:#DateTimeData = null
}:bool
event-handler-present?:指定された EventHandler をこのオブジェクトにインストールするかどうかを決定します。
public {DefaultIOEventTarget.event-handler-present?
event-handler:EventHandler
}:bool
handle-event:適切な EventHandlers を呼び出してイベントを処理します。
public {DefaultIOEventTarget.handle-event event:Event}:void
handle-event-with-now:イベントをディスパッチします。つまり、適切なハンドラを探して呼び出します。
protected {DefaultIOEventTarget.handle-event-with-now
event:IOEvent,
now:#DateTimeData = null
}:bool
handlers-resize:ハンドラの配列の {FastArray-of IOEventHandlerInfo} を返します。これは配列の max-size のサイズを変更します (またはコピーを使って適切な最大サイズの新しい配列を作成します)。既定の実装では、null を返します。
protected {DefaultIOEventTarget.handlers-resize
max-size:int
}:#{FastArray-of #IOEventHandlerInfo}
make-IOEvent:
public {DefaultIOEventTarget.make-IOEvent t:ClassType}:IOEvent
new-handlers:ハンドラの空の配列の {FastArray-of IOEventHandlerInfo} を返します。これは、現在のハンドラをクリアするか、次に返す新しい DefaultIOEventTarget.handlers 配列を設定します。既定の実装では、null を返します。
protected {DefaultIOEventTarget.new-handlers
}:#{FastArray-of #IOEventHandlerInfo}
remove-event-handler:このオブジェクトから EventHandler を削除します。
public {DefaultIOEventTarget.remove-event-handler
event-handler:EventHandler
}:void
remove-event-handler-by-type:指定したイベント タイプのイベント ハンドラを削除します。
public {DefaultIOEventTarget.remove-event-handler-by-type
event-type:ClassType
}:bool
remove-targeted-event-handler:
protected {DefaultIOEventTarget.remove-targeted-event-handler
event-handler:EventHandler,
event-target:IOEventTarget = self
}:bool
remove-targeted-event-handler-by-type:
protected {DefaultIOEventTarget.remove-targeted-event-handler-by-type
event-type:ClassType,
event-target:IOEventTarget = self
}:bool
reset-event-handler-expiration:このタイプに関連付けられているハンドラの有効期限を now + timeout にリセットします。
public {DefaultIOEventTarget.reset-event-handler-expiration
event-type:ClassType,
now:#DateTimeData = null
}:bool
verify-event:この EventTarget の指定された Event をキューに投入できることを確認するために、例外がスローされていなければ、例外をスローします。EventQueue によってのみ呼び出されます。
public {DefaultIOEventTarget.verify-event event:Event}:void
メソッド 継承 EventTarget: accepts-event-class?
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {DefaultIOEventTarget.default}
この項目はサポートされていません。内部使用限定となっています。



プロパティ詳細
doing-event-dispatch? (フィールド)
protected DefaultIOEventTarget.doing-event-dispatch?:bool
この項目はサポートされていません。内部使用限定となっています。


event-enabled? (アクセサ)
アクセサ public abstract DefaultIOEventTarget.event-enabled?:bool

self のイベントがモニタされる準備ができている場合は true を返します。

オーバーライド

実装でこれを提供する必要があります。


handlers (アクセサ)
アクセサ protected DefaultIOEventTarget.handlers:#{FastArray-of #IOEventHandlerInfo}

現在のすべてのハンドラの #{FastArray-of #IOEventHandlerInfo} を返します。既定の実装では、null を返します。

オーバーライド

このクラスが提供する他の実装もすべて使用する場合は、実装でこれを提供することができます。


saved-event-classes (フィールド)
protected DefaultIOEventTarget.saved-event-classes:#{FastArray-of ClassType}
この項目はサポートされていません。内部使用限定となっています。


saved-event-classes-valid? (フィールド)
protected DefaultIOEventTarget.saved-event-classes-valid?:bool
この項目はサポートされていません。内部使用限定となっています。


soonest-expiration (アクセサ)
アクセサ public DefaultIOEventTarget.soonest-expiration:#DateTimeData

すべてのハンドラの最も早い失効日を返します。

戻り値

DateTimeData または null (無限タイムアウトの場合)。





メソッド詳細
add-event-handler (メソッド)
public {DefaultIOEventTarget.add-event-handler
event-handler:EventHandler
}:void

指定された型の IOEventEventHandler を追加または変更します (非タイムアウト クラスのみ。タイムアウト イベントには IOEventTarget.add-timeout-event-handler を使用します)。

event-handler: イベントまたはタイムアウトが発生したときに呼び出されるルーチンを持つ EventHandler。呼び出し側は、呼び出しで EventHandler を作成できます。

戻り値

追加された EventHandler。このハンドラを追加して削除する場合、呼び出し側が別にオブジェクトを作成しなくてすむようにこの戻り値を保存できます。

オーバーライド

これは、DefaultIOEventTarget.handlers を使用します。


add-targeted-event-handler (メソッド)
protected {DefaultIOEventTarget.add-targeted-event-handler
event-handler:EventHandler,
event-target:IOEventTarget = self,
timeout:Time = IOEventTarget.infinite-timeout
}:EventHandler

指定した event-target のイベント ハンドラを追加します。

event-handler: event-target に追加される EventHandler
event-target: event-handler を追加する必要がある IOEventTarget
timeout: イベント ハンドラのタイムアウトです (必要な場合)。

注意事項

event-target がプロキシ スタイルの IOEventTarget で使用されている場合、event-target は self 以外の何かになります。


add-timeout-event-handler (メソッド)
public {DefaultIOEventTarget.add-timeout-event-handler
event-handler:EventHandler,
timeout:Time
}:void

IOTimeoutEvent の特定のサブタイプの EventHandler を追加または変更します。

event-handler: タイムアウト イベントが発生したときに呼び出されるルーチンを備えた EventHandler。呼び出し側は、呼び出しで EventHandler を作成できます。
timeout: このハンドラを呼び出す前に、アクティビティが発生せずに経過するタイムアウト期間の Time

戻り値

追加された EventHandler。このハンドラを追加して削除する場合、呼び出し側が別にオブジェクトを作成しなくてすむようにこの戻り値を保存できます。

オーバーライド

これは、DefaultIOEventTarget.handlers を使用します。


begin-event-enabled (メソッド)
public {DefaultIOEventTarget.begin-event-enabled}:void

この DefaultIOEventTargetDefaultIOEventTarget.event-enabled? になったときに行う必要がある登録を実行します。

プログラミング注意事項

self がそれまでとは変わって event-enabled? になるときに、クラスのオーバーライドまたは実装によって呼び出されなければなりません。ただし、self が作成時に有効であった場合は最初に呼び出す必要はありません。


begin-using-handlers (メソッド)
protected {DefaultIOEventTarget.begin-using-handlers}:void

DefaultIOEventTarget.handlers を呼び出すルーチンおよび関連するルーチンが handlers 配列の使用を開始しようとするときに、それらのルーチンによって呼び出されます。既定の実装では何も行われません。

オーバーライド

このクラスが提供する他の実装もすべて使用する場合は、実装でこれを提供することができます。このメソッドは、DefaultIOEventTarget.end-using-handlers とペアで使用されます。これらはネスト形式で呼び出されることがあるので、本格的な実装では参照カウントなどを実行する必要があります。


call-handler (メソッド)
protected {DefaultIOEventTarget.call-handler
event:IOEvent,
handler:EventHandler,
event-target:IOEventTarget,
now:#DateTimeData = null
}:void

これは、関連するハンドラを実際に呼び出すために呼び出されます。

プログラミング注意事項

IOEventTarget.handle-event および DefaultIOEventTarget.enqueue-timeout によって呼び出されます。

オーバーライド

サブクラスが呼び出しを抑止する必要がある場合にはオーバーライドできますが、オーバーライド側はその呼び出しが抑止されない場合にさらに super.call-handler を呼び出す必要があります。


end-event-enabled (メソッド)
public {DefaultIOEventTarget.end-event-enabled}:void

この DefaultIOEventTargetDefaultIOEventTarget.event-enabled? ではなくなったときに行う必要がある登録解除を実行します。

プログラミング注意事項

self がそれまでとは変わって event-enabled? でなくなったときに、クラスのオーバーライドまたは実装によって呼び出されなければなりません。 ただし、self が作成時に有効ではなかった場合は最初に呼び出す必要はありません。


end-using-handlers (メソッド)
protected {DefaultIOEventTarget.end-using-handlers}:void

DefaultIOEventTarget.handlers を呼び出すルーチンおよび関連するルーチンが handlers 配列で実行されるときに、それらのルーチンによって呼び出されます (配列が null ではない場合。null の場合は呼び出されるかどうかはわかりません)。既定の実装では何も行われません。

オーバーライド

このクラスが提供する他の実装もすべて使用する場合は、実装でこれを提供することができます。


enqueue-timeout (メソッド)
public {DefaultIOEventTarget.enqueue-timeout
now:#DateTimeData = null
}:bool

タイムアウトのハンドラをすべて呼び出します。

戻り値

該当するハンドラが見つかり呼び出されたかどうかを示す bool

オーバーライド

これは、DefaultIOEventTarget.handlers を使用します。


event-handler-present? (メソッド)
public {DefaultIOEventTarget.event-handler-present?
event-handler:EventHandler
}:bool

指定された EventHandler をこのオブジェクトにインストールするかどうかを決定します。

event-handler: 検索する EventHandler


handle-event (メソッド)
public {DefaultIOEventTarget.handle-event event:Event}:void

適切な EventHandlers を呼び出してイベントを処理します。

event: 処理する Event。


handle-event-with-now (メソッド)
protected {DefaultIOEventTarget.handle-event-with-now
event:IOEvent,
now:#DateTimeData = null
}:bool

イベントをディスパッチします。つまり、適切なハンドラを探して呼び出します。

event-type: ハンドラを呼び出すイベントのタイプ。

戻り値

該当するハンドラが見つかり呼び出されたかどうかを示す bool

オーバーライド

これは、DefaultIOEventTarget.handlers を使用します。


handlers-resize (メソッド)
protected {DefaultIOEventTarget.handlers-resize
max-size:int
}:#{FastArray-of #IOEventHandlerInfo}

ハンドラの配列の {FastArray-of IOEventHandlerInfo} を返します。これは配列の max-size のサイズを変更します (またはコピーを使って適切な最大サイズの新しい配列を作成します)。既定の実装では、null を返します。

オーバーライド

このクラスが提供する他の実装もすべて使用する場合は、実装でこれを提供することができます。
max-size: 新しい max-size。

戻り値

適切な max-size{FastArray-of IOEventHandlerInfo} を返します。


make-IOEvent (メソッド)
public {DefaultIOEventTarget.make-IOEvent t:ClassType}:IOEvent
この項目はサポートされていません。内部使用限定となっています。


new-handlers (メソッド)
protected {DefaultIOEventTarget.new-handlers
}:#{FastArray-of #IOEventHandlerInfo}

ハンドラの空の配列の {FastArray-of IOEventHandlerInfo} を返します。これは、現在のハンドラをクリアするか、次に返す新しい DefaultIOEventTarget.handlers 配列を設定します。既定の実装では、null を返します。

オーバーライド

このクラスが提供する他の実装もすべて使用する場合は、実装でこれを提供することができます。

戻り値

少なくとも空スロットが 1 つある新しい {FastArray-of IOEventHandlerInfo} を返します (つまり size は最小 1 で、 max-size 未満です)。


remove-event-handler (メソッド)
public {DefaultIOEventTarget.remove-event-handler
event-handler:EventHandler
}:void

このオブジェクトから EventHandler を削除します。

event-handler: 削除する EventHandler。

注意事項

存在しない EventHandler を削除すると、エラーになります。EventHandler がいくつもある場合は、最も古いコピーが削除されます。


remove-event-handler-by-type (メソッド)
public {DefaultIOEventTarget.remove-event-handler-by-type
event-type:ClassType
}:bool

指定したイベント タイプのイベント ハンドラを削除します。

event-type: ハンドラを削除するイベント タイプを指定します。

戻り値

ハンドラが実際に見つかり削除されたかどうかを示す bool 値。

オーバーライド

これは、DefaultIOEventTarget.handlers を使用します。


remove-targeted-event-handler (メソッド)
protected {DefaultIOEventTarget.remove-targeted-event-handler
event-handler:EventHandler,
event-target:IOEventTarget = self
}:bool
この項目はサポートされていません。内部使用限定となっています。


remove-targeted-event-handler-by-type (メソッド)
protected {DefaultIOEventTarget.remove-targeted-event-handler-by-type
event-type:ClassType,
event-target:IOEventTarget = self
}:bool
この項目はサポートされていません。内部使用限定となっています。


reset-event-handler-expiration (メソッド)
public {DefaultIOEventTarget.reset-event-handler-expiration
event-type:ClassType,
now:#DateTimeData = null
}:bool

このタイプに関連付けられているハンドラの有効期限を now + timeout にリセットします。

event-type: ハンドラの有効期限をリセットするイベントのタイプを指定します。
event-target: IOEventTarget キーワード。既定値は self です。
now: 現在の時刻の DateTimeData のキーワード。既定では、その都度計算される現在時刻です。

戻り値

適切なハンドラが見つかってリセットされたかどうかを示す bool

オーバーライド

これは、DefaultIOEventTarget.handlers を使用します。


verify-event (メソッド)
public {DefaultIOEventTarget.verify-event event:Event}:void

この EventTarget の指定された Event をキューに投入できることを確認するために、例外がスローされていなければ、例外をスローします。EventQueue によってのみ呼び出されます。

event: 確認する Event。