AppletData (クラス)
public AppletData
パッケージ: CURL.ENGINE.BROWSER

プログラム上で作成される Applet を管理します。

説明

Applet は個々の Process 内で実行され、制御スレッドおよびすべてのグローバル変数のコピーをそれぞれに所有します。これは、アプレットの非常に強力な概念といえます。
AppletData クラスは、Applet の作成およびプログラム的な管理を可能にするものです。さらに AppletGraphic クラスとの連動により、ScrollBox への配置機能を含めて、他の Graphic とほぼ同じ方法でアプレットをグラフィック階層にグラフィカルに表現することができます。
基本的に、各 AppletDataApplet を作成し、指定に応じて AppletGraphic 上にそれを描写し、指定 Url のコンテンツを実行するようにアプレットに指示します。次に、AppletData は表現された Applet からの要求 (set-titlebrowse-url など) を処理します。
既定では、Applet が別の Applet の内部で実行中の AppletData によって管理されている場合、この AppletData は内部 Applet の要求のほとんどを外側の Applet からの要求であるかのように処理します。したがって、AppletDataAppletGraphic の組み合わせは、既定では HTML ページにアプレットを「埋め込む」場合とほぼ同様の「埋め込み」アプレットの単純なメカニズムを提供することになります。
AppletHistory およびそのサブクラスも参照してください。これらは履歴リストなどの従来のブラウザ構造を提供しています。

注意事項

Applet で展開された実際のコンテンツは、実際には AppletData によって非同期にロードされます。そのため、AppletDataUrl へのアクセスを許可される必要があるだけでなく、ある程度のイベント処理が行われるまでは、Applet は実際にはそれらのコンテンツを展開できません (実際は作成すらされません)。

AppletData には、AppletGraphic を共有できるものがいくつかあります。しかし、同時に "アクティブ" になるのは 1 つだけです。これは、既定では自動的に AppletHistory クラスおよびそのサブクラスによって処理されます。

ライセンス

このプロシージャは 'occ' を有効にする Curl/Pro サーバー・ライセンスのライセンスがあるアプレットのみにより利用できます。

コンストラクタ
default:AppletData を作成します。
コンストラクタ public {AppletData.default
ag:#AppletGraphic,
url:Url,
grant-privilege?:bool = false,
arguments:#Arguments = null,
debuggable?:bool = false,
start-in-debugger?:bool = false
}
inherit-parent-url:urlcurl://string で始まる場合に、アプレットの urlとして親 url を使用する AppletData を作成します。
コンストラクタ public {AppletData.inherit-parent-url
ag:#AppletGraphic,
url:Url,
grant-privilege?:bool = false,
arguments:#Arguments = null
}

プロパティ
active?:アプレットが "アクティブ" である、つまり、"生成"されていない (しかし"破棄"されはいない)、"再実行"された ("中断"されていない) と考えられるかどうかを確認します。
フィールド public-get private-set AppletData.active?:bool
ag:構築中に指定される AppletGraphic です。
フィールド public constant AppletData.ag:#AppletGraphic
applet-id:アプレット識別情報の追跡に役立ちます。
フィールド public-get package-set AppletData.applet-id:int =0
applet-invoke-ready-callback:アプレットがAppletData.applet-invoke-async コールに対し準備ができたことを知らせる時に呼び出されるコールバックです。
アクセサ public AppletData.applet-invoke-ready-callback:#{proc-type {}:void}
セッター public AppletData.applet-invoke-ready-callback:#{proc-type {}:void}
applet-invoke-ready?:アプレットが AppletData.applet-invoke-async を呼び出せるかどうかを示します。
アクセサ public AppletData.applet-invoke-ready?:bool
セッター hidden AppletData.applet-invoke-ready?:bool
births:
アクセサ deprecated public final AppletData.births:int
dead?:アプレットが終了したら true です。
フィールド public-get package-set AppletData.dead?:bool
deaths:
アクセサ deprecated public final AppletData.deaths:int
debuggable?:サブアプレットをデバッグ可能か否かを指定します。 規定値は false です。
フィールド public-get private-set AppletData.debuggable?:bool
destroyed?:AppletData.destroy が呼び出されたかどうかを確認します。
フィールド public-get private-set AppletData.destroyed?:bool =false
exited?:アプレットが予期せず終了したかどうかを示します。
フィールド public-get package-set AppletData.exited?:bool
helper-id:アプレット識別情報の追跡に役立ちます。
フィールド public-get package-set AppletData.helper-id:int =0
info:現在のロード状態の追跡に役立ちます。
フィールド public-get package-set AppletData.info:String =""
inline-remote-connection:
フィールド public-get private-set AppletData.inline-remote-connection:InlineRemoteConnection ={uninitialized-value-for-type InlineRemoteConnection}
loading?:アプレットが "ロード" 中、つまり、まだ初期コンテンツを展開中であると考えられるかどうかを確認します。
アクセサ public final AppletData.loading?:bool
parent-invoke-handler:サブ アプレットが Applet.parent-invoke-async を呼び出した時に呼び出されるハンドラです。
アクセサ public AppletData.parent-invoke-handler:#{proc-type {method-name:String, ...:JsonValue}:JsonValue}
セッター public AppletData.parent-invoke-handler:#{proc-type {method-name:String, ...:JsonValue}:JsonValue}
running?:アプレットが「実行中」であるかどうか、つまりペンディング中の状態変化 (一時停止と再開) の要求がすべて完了し、アプレットがアクティブで (AppletData.active? を参照) ロードが完了しており (AppletData.loading? を参照)、死滅していない (AppletData.dead? を参照) かどうかを示します。
アクセサ public final AppletData.running?:bool
status:直前回にアプレットに要求された状態です。
フィールド public-get package-set AppletData.status:String =""
title:直前回にアプレットに要求されたタイトルです。
フィールド public-get package-set AppletData.title:String =""
url:アプレットの読み込み先の Url です。
フィールド public-get private-set AppletData.url:Url
what:現在のロード状態の追跡に役立ちます。
フィールド public-get package-set AppletData.what:String =""

メソッド
applet-invoke-async:Applet.register-applet-invoke-handler が既に呼び出されている場合は、アプレット内にあるコールを呼び出します。
public {AppletData.applet-invoke-async
finish-proc:#{proc-type {exception:#Exception, result:JsonValue}:void} = null,
method-name:String,
...:JsonValue
}:void
browse-offset:アプレットからの "browse-offset" 要求に応答します。
protected {AppletData.browse-offset target:String, offset:int}:void
browse-url:アプレットからの "browse-url" 要求に応答します。
protected {AppletData.browse-url target:String, url:Url}:void
browse-url-post:アプレットからの "browse-post" 要求に応答します。
protected {AppletData.browse-url-post
target:String,
url:Url,
data-to-post:HttpRequestData,
request-headers:#HttpRequestHeaders
}:void
cancel:現在進行中のロードをキャンセルします。
public final {AppletData.cancel}:void
destroy:アプレットを破棄します。
public {AppletData.destroy}:void
handle-read-open-failure:
protected {AppletData.handle-read-open-failure
exception:Exception
}:void
loading-finished:アプレットからの "loading-finished" 通知に応答します。
protected {AppletData.loading-finished what:String, info:String}:void
loading-started:アプレットからの "loading-started" 通知に応答します。
protected {AppletData.loading-started url:Url}:void
notice-birth:アプレットからの "birth" 通知に応答します。
protected {AppletData.notice-birth helper-id:int, applet-id:int}:void
notice-death:アプレットからの "death" 通知に応答します。
protected {AppletData.notice-death helper-id:int, applet-id:int}:void
request-debug:アプレットのデバッグを要求します。
public final {AppletData.request-debug}:void
resume:アプレットを再開します。
public final {AppletData.resume}:void
send-query:
public final {AppletData.send-query
code:int,
data:#ByteArray,
reply-handler:#RemoteEventHandler
}:void
set-status:アプレットからの "set-status" 要求に応答します。
protected {AppletData.set-status str:String}:void
set-title:アプレットからの "set-title" 要求に応答します。
protected {AppletData.set-title str:String}:void
suspend:アプレットを中断します。
public final {AppletData.suspend}:void
unexpected-exit:アプレットの予期せぬ終了に応答します。
protected {AppletData.unexpected-exit}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {AppletData.default
ag:#AppletGraphic,
url:Url,
grant-privilege?:bool = false,
arguments:#Arguments = null,
debuggable?:bool = false,
start-in-debugger?:bool = false
}

AppletData を作成します。

ag: AppletGraphic です。これがある場合は、アプレットはその上に投影されます。null の場合、アプレットはそれ自体のウィンドウを作成しない限り表示されません。
url: アプレットの初期コンテンツが展開される Url です。
grant-privilege?: true の場合、呼び出し元に特権が必要であり、アプレットにも特権が必要です。false の場合 (既定)、ユーザーが要求した場合だけアプレットに特権が与えられます。
arguments: Applet.argumentsを通じてアプレットから利用可能な引数
debuggable?: サブアプレットをデバッグ可能か否かを指定します。 規定値は false です。
start-in-debugger?: デバッガを起動するときにデバッグを停止するかを指定します。


inherit-parent-url (コンストラクタ)
public {AppletData.inherit-parent-url
ag:#AppletGraphic,
url:Url,
grant-privilege?:bool = false,
arguments:#Arguments = null
}

urlcurl://string で始まる場合に、アプレットの urlとして親 url を使用する AppletData を作成します。

注意事項

パラメータの情報に関しては、AppletData.default を参照してください。
導入: バージョン 7.0.1



プロパティ詳細
active? (フィールド)
public-get private-set AppletData.active?:bool

アプレットが "アクティブ" である、つまり、"生成"されていない (しかし"破棄"されはいない)、"再実行"された ("中断"されていない) と考えられるかどうかを確認します。



ag (フィールド)
public constant AppletData.ag:#AppletGraphic

構築中に指定される AppletGraphic です。

説明

"アクティブ" の場合、この AppletData で管理されるアプレットは、グラフィカルにこの AppletGraphic 上に投影されます。


applet-id (フィールド)
public-get package-set AppletData.applet-id:int =0

アプレット識別情報の追跡に役立ちます。



applet-invoke-ready-callback (アクセサ)
アクセサ public AppletData.applet-invoke-ready-callback:#{proc-type {}:void}
セッター public AppletData.applet-invoke-ready-callback:#{proc-type {}:void}

アプレットがAppletData.applet-invoke-async コールに対し準備ができたことを知らせる時に呼び出されるコールバックです。

注意事項

これが設定される時に、AppletData.applet-invoke-ready? が既に true である場合、コールバックがすぐに呼び出されます。
導入: バージョン 6.0


applet-invoke-ready? (アクセサ)
アクセサ public AppletData.applet-invoke-ready?:bool
セッター hidden AppletData.applet-invoke-ready?:bool

アプレットが AppletData.applet-invoke-async を呼び出せるかどうかを示します。

導入: バージョン 6.0


births (アクセサ)
アクセサ deprecated public final AppletData.births:int

非推奨

0 以外の AppletData.applet-id を使用します。


dead? (フィールド)
public-get package-set AppletData.dead?:bool

アプレットが終了したら true です。



deaths (アクセサ)
アクセサ deprecated public final AppletData.deaths:int

非推奨

AppletData.dead? を使用します。


debuggable? (フィールド)
public-get private-set AppletData.debuggable?:bool

サブアプレットをデバッグ可能か否かを指定します。 規定値は false です。

導入: バージョン 8.0


destroyed? (フィールド)
public-get private-set AppletData.destroyed?:bool =false

AppletData.destroy が呼び出されたかどうかを確認します。



exited? (フィールド)
public-get package-set AppletData.exited?:bool

アプレットが予期せず終了したかどうかを示します。



helper-id (フィールド)
public-get package-set AppletData.helper-id:int =0

アプレット識別情報の追跡に役立ちます。



info (フィールド)
public-get package-set AppletData.info:String =""

現在のロード状態の追跡に役立ちます。



inline-remote-connection (フィールド)
public-get private-set AppletData.inline-remote-connection:InlineRemoteConnection ={uninitialized-value-for-type InlineRemoteConnection}
この項目はサポートされていません。内部使用限定となっています。


loading? (アクセサ)
アクセサ public final AppletData.loading?:bool

アプレットが "ロード" 中、つまり、まだ初期コンテンツを展開中であると考えられるかどうかを確認します。



parent-invoke-handler (アクセサ)
アクセサ public AppletData.parent-invoke-handler:#{proc-type {method-name:String, ...:JsonValue}:JsonValue}
セッター public AppletData.parent-invoke-handler:#{proc-type {method-name:String, ...:JsonValue}:JsonValue}

サブ アプレットが Applet.parent-invoke-async を呼び出した時に呼び出されるハンドラです。

説明

これが設定されていない場合に、Applet.parent-invoke-async を呼び出すとサブ アプレットでエラーとなります。

注意事項

ハンドラーからの全ての引数と戻り値は、JsonValue-writeJsonValue-parse が操作可能な JsonValue でなければなりません。
導入: バージョン 6.0


running? (アクセサ)
アクセサ public final AppletData.running?:bool

アプレットが「実行中」であるかどうか、つまりペンディング中の状態変化 (一時停止と再開) の要求がすべて完了し、アプレットがアクティブで (AppletData.active? を参照) ロードが完了しており (AppletData.loading? を参照)、死滅していない (AppletData.dead? を参照) かどうかを示します。



status (フィールド)
public-get package-set AppletData.status:String =""

直前回にアプレットに要求された状態です。



title (フィールド)
public-get package-set AppletData.title:String =""

直前回にアプレットに要求されたタイトルです。



url (フィールド)
public-get private-set AppletData.url:Url

アプレットの読み込み先の Url です。



what (フィールド)
public-get package-set AppletData.what:String =""

現在のロード状態の追跡に役立ちます。






メソッド詳細
applet-invoke-async (メソッド)
public {AppletData.applet-invoke-async
finish-proc:#{proc-type {exception:#Exception, result:JsonValue}:void} = null,
method-name:String,
...:JsonValue
}:void

Applet.register-applet-invoke-handler が既に呼び出されている場合は、アプレット内にあるコールを呼び出します。

finish-proc: applet-invoke が終了した時に、結果か、アプレット内での失敗を示す RemoteException 、又は JsonValue-to-String でマーシャリングされた引数による Exception のいずれかと共に呼び出されます。
...: 子に渡すパラメータです。値は、JsonValue-writeJsonValue-parse が扱える JsonValue である必要があります。
導入: バージョン 6.0


browse-offset (メソッド)
protected {AppletData.browse-offset target:String, offset:int}:void

アプレットからの "browse-offset" 要求に応答します。

説明

これは、アプレットのブラウザがその履歴内のオフセット offset に、ターゲット target (通常は "_self") を利用して参照するようにアプレットが要求するときに呼び出されます。

ターゲットの詳細については Applet.browse-url を参照してください。

注意事項

アプレットは Applet.browse-offset によりこの要求を行います。既定では、AppletData.active? が true であればアプレット内で実行中の AppletData でこのメソッドが呼び出されて応答します。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


browse-url (メソッド)
protected {AppletData.browse-url target:String, url:Url}:void

アプレットからの "browse-url" 要求に応答します。

説明

これは、アプレットのブラウザが url に、ターゲット target を利用して参照するようにアプレットが要求するときに呼び出されます。

ターゲットの詳細については Applet.browse-url を参照してください。

注意事項

アプレットは Applet.browse-url を使ってこの要求を行います。既定では、AppletData.active? が true であればアプレット内で実行中の AppletData でこのメソッドが呼び出されて応答します。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


browse-url-post (メソッド)
protected {AppletData.browse-url-post
target:String,
url:Url,
data-to-post:HttpRequestData,
request-headers:#HttpRequestHeaders
}:void

アプレットからの "browse-post" 要求に応答します。

説明

これは、アプレットのブラウザが url に、ターゲット target と、指定された data-to-post および request-headers を利用して参照するようにアプレットが要求するときに呼び出されます。

ターゲットの詳細については Applet.browse-url-post を参照してください。

注意事項

アプレットは Applet.browse-url-post を使ってこの要求を行います。既定では、AppletData.active? が true であればアプレット内で実行中の AppletData でこのメソッドが呼び出されて応答します。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


cancel (メソッド)
public final {AppletData.cancel}:void

現在進行中のロードをキャンセルします。



destroy (メソッド)
public {AppletData.destroy}:void

アプレットを破棄します。



handle-read-open-failure (メソッド)
protected {AppletData.handle-read-open-failure
exception:Exception
}:void
この項目はサポートされていません。内部使用限定となっています。


loading-finished (メソッド)
protected {AppletData.loading-finished what:String, info:String}:void

アプレットからの "loading-finished" 通知に応答します。

説明

これは、アプレットが実際にそのコンテンツの展開を終了した時に呼び出されます。この通知は "ロード" が完了したことを示します。

このメソッドの引数は、ロードの結果を示します。

what"finished" の場合、ロードが成功したことを意味し、info にはロードにかかった時間が格納されます。

what"error" の場合、エラー発生によりロードが停止されたことを意味し、info にはエラーのテキスト表現が格納されます。

what"aborted" の場合、キャンセルによりロードが停止されたことを意味し、info は空白になります。一部の状況下では、ロードは AppletHistory および関連するクラスによって暗黙的にキャンセルされる場合があります。

what"death" の場合、アプレットが終了しているためロードが停止されたことを意味し、info は空白になります。アプレットは、再ロードなど一部の状況下では暗黙的に終了します。

注意事項

既定ではこのメソッドは何も実行しません。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


loading-started (メソッド)
protected {AppletData.loading-started url:Url}:void

アプレットからの "loading-started" 通知に応答します。

説明

これは、アプレットが指定された Url のコンテンツの展開を実際に開始する時に呼び出されます。

注意事項

既定ではこのメソッドは何も実行しません。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


notice-birth (メソッド)
protected {AppletData.notice-birth helper-id:int, applet-id:int}:void

アプレットからの "birth" 通知に応答します。

説明

これは、アプレットがそのコンテンツの展開を開始する前に、実際に作成する時に呼び出されます。

helper-idapplet-id のペアは独自にアプレットの物理的インスタンスを識別し、AppletData が再ロードされるたびに、古いペアで "death" 通知が送信され、新しいペアで "birth" 通知が送信されます。

注意事項

既定ではこのメソッドは何も実行しません。
通常、中断されたアプレットは後で同一状態で再開できます。ただしリソースの消費を削減するため、時には中断されたアプレットが「パージ」され、再開時に「パージを元に戻す」ということが起こります。これは AppletData への再ロードと非常によく似ています。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


notice-death (メソッド)
protected {AppletData.notice-death helper-id:int, applet-id:int}:void

アプレットからの "death" 通知に応答します。

説明

これは、アプレットが終了する時に呼び出されます。これはパージに応じて終了する場合でも、再ロードや破棄などの意図的な操作に応じて終了する場合でも同じです。

helper-idapplet-id のペアは独自にアプレットの物理的インスタンスを識別し、下位のアプレットが終了するたびに、対応する "birth" 通知で送信されたのと同じペアを使用して "death" 通知が送信されます。

注意事項

既定ではこのメソッドは何も実行しません。
通常、中断されたアプレットは後で同一状態で再開できます。ただしリソースの消費を削減するため、時には中断されたアプレットが「パージ」され、再開時に「パージを元に戻す」ということが起こります。これは AppletData への再ロードと非常によく似ています。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


request-debug (メソッド)
public final {AppletData.request-debug}:void

アプレットのデバッグを要求します。

導入: バージョン 8.0


resume (メソッド)
public final {AppletData.resume}:void

アプレットを再開します。



send-query (メソッド)
public final {AppletData.send-query
code:int,
data:#ByteArray,
reply-handler:#RemoteEventHandler
}:void
この項目はサポートされていません。内部使用限定となっています。


set-status (メソッド)
protected {AppletData.set-status str:String}:void

アプレットからの "set-status" 要求に応答します。

説明

これは、アプレットのブラウザがその状態を str に設定するようにアプレットが要求する時呼び出されるため、適した処理を行うようにオーバーライドできます。

注意事項

アプレットは Applet.set-status を使ってこの要求を行います。既定では、AppletData.running? が true であればアプレット内で実行中の AppletData でこのメソッドが呼び出されて応答します。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


set-title (メソッド)
protected {AppletData.set-title str:String}:void

アプレットからの "set-title" 要求に応答します。

説明

これは、アプレットのブラウザがそのタイトルを str に設定するようにアプレットが要求する時呼び出されるため、適した処理を行うようにオーバーライドできます。

注意事項

アプレットは Applet.set-title を使ってこの要求を行います。既定では、AppletData.running? が true であればアプレット内で実行中の AppletData でこのメソッドが呼び出され応答します。

プログラミング注意事項

このメソッドは直接呼び出さないでください。


suspend (メソッド)
public final {AppletData.suspend}:void

アプレットを中断します。



unexpected-exit (メソッド)
protected {AppletData.unexpected-exit}:void

アプレットの予期せぬ終了に応答します。

説明

これは、「キル」や「パージ」が原因の終了とは異なり、アプレットが予期せずに終了した場合、つまり、明示的な exit の呼び出しによって呼び出されます。

注意事項

既定ではこのメソッドは何も実行しません。

プログラミング注意事項

このメソッドは直接呼び出さないでください。