ICallbackHandler.HandleCallbacks(ICallback[]) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定されたコールバックで要求された情報を取得または表示します。
[Android.Runtime.Register("handle", "([Ljavax/security/auth/callback/Callback;)V", "GetHandleCallbacks_arrayLjavax_security_auth_callback_Callback_Handler:Javax.Security.Auth.Callback.ICallbackHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void HandleCallbacks(Javax.Security.Auth.Callback.ICallback[]? callbacks);
[<Android.Runtime.Register("handle", "([Ljavax/security/auth/callback/Callback;)V", "GetHandleCallbacks_arrayLjavax_security_auth_callback_Callback_Handler:Javax.Security.Auth.Callback.ICallbackHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member HandleCallbacks : Javax.Security.Auth.Callback.ICallback[] -> unit
パラメーター
- callbacks
- ICallback[]
取得または表示を要求された情報を含む、基になるセキュリティ サービスによって提供される Callback オブジェクトの配列。
- 属性
例外
I/O 関連のエラーが発生した場合
CallbackHandlerが特定のCallback
注釈
指定されたコールバックで要求された情報を取得または表示します。
handle メソッドの実装は、渡されたCallback オブジェクトのインスタンスをチェックして、要求された情報を取得または表示します。 次の例は、 handle メソッドの実装の外観を示すのに役立ちます。 このコード例はガイダンスのみを目的としています。 わかりやすくするために、適切なエラー処理を含む多くの詳細が取り残されています。
{@code
public void handle(Callback[] callbacks)
throws IOException, UnsupportedCallbackException {
for (int i = 0; i < callbacks.length; i++) {
if (callbacks[i] instanceof TextOutputCallback) {
// display the message according to the specified type
TextOutputCallback toc = (TextOutputCallback)callbacks[i];
switch (toc.getMessageType()) {
case TextOutputCallback.INFORMATION:
System.out.println(toc.getMessage());
break;
case TextOutputCallback.ERROR:
System.out.println("ERROR: " + toc.getMessage());
break;
case TextOutputCallback.WARNING:
System.out.println("WARNING: " + toc.getMessage());
break;
default:
throw new IOException("Unsupported message type: " +
toc.getMessageType());
}
} else if (callbacks[i] instanceof NameCallback) {
// prompt the user for a username
NameCallback nc = (NameCallback)callbacks[i];
// ignore the provided defaultName
System.err.print(nc.getPrompt());
System.err.flush();
nc.setName((new BufferedReader
(new InputStreamReader(System.in))).readLine());
} else if (callbacks[i] instanceof PasswordCallback) {
// prompt the user for sensitive information
PasswordCallback pc = (PasswordCallback)callbacks[i];
System.err.print(pc.getPrompt());
System.err.flush();
pc.setPassword(readPassword(System.in));
} else {
throw new UnsupportedCallbackException
(callbacks[i], "Unrecognized Callback");
}
}
}
// Reads user password from given input stream.
private char[] readPassword(InputStream in) throws IOException {
// insert code to read a user password from the input stream
}
}
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。