Language

ICallbackHandler.HandleCallbacks(ICallback[]) メソッド

定義

指定されたコールバックで要求された情報を取得または表示します。

[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
            }
            }

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象