1d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen/*
2d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  Licensed to the Apache Software Foundation (ASF) under one or more
3d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  contributor license agreements.  See the NOTICE file distributed with
4d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  this work for additional information regarding copyright ownership.
5d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  The ASF licenses this file to You under the Apache License, Version 2.0
6d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  (the "License"); you may not use this file except in compliance with
7d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  the License.  You may obtain a copy of the License at
8d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *
9d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *     http://www.apache.org/licenses/LICENSE-2.0
10d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *
11d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  Unless required by applicable law or agreed to in writing, software
12d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  distributed under the License is distributed on an "AS IS" BASIS,
13d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  See the License for the specific language governing permissions and
15d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen *  limitations under the License.
16d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen */
17d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
18d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpackage org.apache.harmony.javax.security.auth.callback;
19d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
20d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenimport java.io.Serializable;
21d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
22d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
23d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
24d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chenpublic class TextInputCallback implements Callback, Serializable {
25d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
26d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private static final long serialVersionUID = -8064222478852811804L;
27d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
28d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private String defaultText;
29d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
30d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private String prompt;
31d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
32d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private String inputText;
33d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
34d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private void setPrompt(String prompt) {
35d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        if (prompt == null || prompt.length() == 0) {
36d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen            throw new IllegalArgumentException("auth.14"); //$NON-NLS-1$
37d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        }
38d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        this.prompt = prompt;
39d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
40d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
41d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    private void setDefaultText(String defaultText) {
42d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        if (defaultText == null || defaultText.length() == 0) {
43d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen            throw new IllegalArgumentException("auth.15"); //$NON-NLS-1$
44d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        }
45d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        this.defaultText = defaultText;
46d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
47d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
48d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public TextInputCallback(String prompt) {
49d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        super();
50d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        setPrompt(prompt);
51d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
52d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
53d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public TextInputCallback(String prompt, String defaultText) {
54d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        super();
55d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        setPrompt(prompt);
56d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        setDefaultText(defaultText);
57d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
58d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
59d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public String getDefaultText() {
60d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        return defaultText;
61d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
62d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
63d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public String getPrompt() {
64d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        return prompt;
65d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
66d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
67d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public String getText() {
68d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        return inputText;
69d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
70d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen
71d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    public void setText(String text) {
72d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen        this.inputText = text;
73d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen    }
74d7955ce24d294fb2014c59d11fca184471056f44Shuyi Chen}
75