TextInputCallback.java revision d7955ce24d294fb2014c59d11fca184471056f44
15f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer/*
25f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *  Licensed to the Apache Software Foundation (ASF) under one or more
35f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *  contributor license agreements.  See the NOTICE file distributed with
45f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *  this work for additional information regarding copyright ownership.
50bc735ffcfb223c0186419547abaa5c84482663eChris Lattner *  The ASF licenses this file to You under the Apache License, Version 2.0
60bc735ffcfb223c0186419547abaa5c84482663eChris Lattner *  (the "License"); you may not use this file except in compliance with
75f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *  the License.  You may obtain a copy of the License at
85f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *
95f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *     http://www.apache.org/licenses/LICENSE-2.0
105f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *
115f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *  Unless required by applicable law or agreed to in writing, software
125f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *  distributed under the License is distributed on an "AS IS" BASIS,
135f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14c4a1dea2dc56bd1357ec91b829a0b9e68229a13eDaniel Dunbar *  See the License for the specific language governing permissions and
15a4d55d89c8076b402bb168e3edeef0c2cd2a78c3Chris Lattner *  limitations under the License.
162eadfb638eb1bb6ccfd6fd0453e764d47e27eed9Chris Lattner */
17a4d55d89c8076b402bb168e3edeef0c2cd2a78c3Chris Lattner
1898cd599ee8a9b259ed7388ee2921a20d97658864Douglas Gregorpackage org.apache.harmony.javax.security.auth.callback;
19e91593ef084479340582b2ba177b44be50a717b7Daniel Dunbar
205f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerimport java.io.Serializable;
21da5a6b6d9fd52899499d5b7b46273ec844dcaa6eChris Lattner
225f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
235f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
245f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerpublic class TextInputCallback implements Callback, Serializable {
255f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
265f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    private static final long serialVersionUID = -8064222478852811804L;
275f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
28da8249e57f3badecf925571881fe57243935c6c1Chris Lattner    private String defaultText;
29da8249e57f3badecf925571881fe57243935c6c1Chris Lattner
30da8249e57f3badecf925571881fe57243935c6c1Chris Lattner    private String prompt;
31da8249e57f3badecf925571881fe57243935c6c1Chris Lattner
32da8249e57f3badecf925571881fe57243935c6c1Chris Lattner    private String inputText;
33ee5a700af3fe9ae1a639c271f093f40677dddc04Dale Johannesen
34ee5a700af3fe9ae1a639c271f093f40677dddc04Dale Johannesen    private void setPrompt(String prompt) {
35ee5a700af3fe9ae1a639c271f093f40677dddc04Dale Johannesen        if (prompt == null || prompt.length() == 0) {
36da8249e57f3badecf925571881fe57243935c6c1Chris Lattner            throw new IllegalArgumentException("auth.14"); //$NON-NLS-1$
37da8249e57f3badecf925571881fe57243935c6c1Chris Lattner        }
38da8249e57f3badecf925571881fe57243935c6c1Chris Lattner        this.prompt = prompt;
39da8249e57f3badecf925571881fe57243935c6c1Chris Lattner    }
405f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
415f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    private void setDefaultText(String defaultText) {
425f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        if (defaultText == null || defaultText.length() == 0) {
435f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer            throw new IllegalArgumentException("auth.15"); //$NON-NLS-1$
445f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        }
455f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        this.defaultText = defaultText;
465f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    }
475f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
485f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    public TextInputCallback(String prompt) {
495f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        super();
505f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        setPrompt(prompt);
515f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    }
525f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
535f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    public TextInputCallback(String prompt, String defaultText) {
545f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        super();
555f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        setPrompt(prompt);
565f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        setDefaultText(defaultText);
575f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    }
585f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
595f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    public String getDefaultText() {
605f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        return defaultText;
615f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    }
625f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
635f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    public String getPrompt() {
645f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer        return prompt;
655f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    }
665f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer
675f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer    public String getText() {
685a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek        return inputText;
695a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek    }
705a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek
715a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek    public void setText(String text) {
725a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek        this.inputText = text;
735a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek    }
745a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek}
755a56ac30d04e8f0431a08980885662a47a6308aaTed Kremenek