Merge from mainline (gomp-merge-2005-02-26).
[official-gcc.git] / libjava / javax / security / auth / callback / TextInputCallback.java
blob01b544cb24be26b17f1229246ef74d10905e1a03
1 /* TextInputCallback.java -- callbacks for user input.
2 Copyright (C) 2003, Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA.
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
39 package javax.security.auth.callback;
41 import java.io.Serializable;
43 /**
44 * Underlying security services instantiate and pass a <code>TextInputCallback</code>
45 * to the <code>handle()</code> method of a {@link CallbackHandler} to retrieve
46 * generic text information.
48 * @see CallbackHandler
50 public class TextInputCallback implements Callback, Serializable
53 // Constants and variables
54 // -------------------------------------------------------------------------
56 /**
57 * @serial
58 * @since 1.4
60 private String prompt;
62 /**
63 * @serial
64 * @since 1.4
66 private String defaultText;
68 /**
69 * @serial
70 * @since 1.4
72 private String inputText;
74 // Constructor(s)
75 // -------------------------------------------------------------------------
77 /**
78 * Construct a <code>TextInputCallback</code> with a prompt.
80 * @param prompt the prompt used to request the information.
81 * @throws IllegalArgumentException if <code>prompt</code> is <code>null</code>
82 * or if <code>prompt</code> has a length of <code>0</code>.
84 public TextInputCallback(String prompt) throws IllegalArgumentException
86 super();
88 setPrompt(prompt);
91 /**
92 * Construct a <code>TextInputCallback</code> with a prompt and default
93 * input value.
95 * @param prompt the prompt used to request the information.
96 * @param defaultText the text to be used as the default text displayed with
97 * the prompt.
98 * @throws IllegalArgumentException if <code>prompt</code> is <code>null</code>,
99 * if <code>prompt</code> has a length of <code>0</code>, if
100 * <code>defaultText</code> is <code>null</code> or if <code>defaultText</code>
101 * has a length of <code>0</code>.
103 public TextInputCallback(String prompt, String defaultText)
104 throws IllegalArgumentException
106 super();
108 setPrompt(prompt);
109 setDefaultText(defaultText);
112 // Class methods
113 // -------------------------------------------------------------------------
115 // Instance methods
116 // -------------------------------------------------------------------------
119 * Get the prompt.
121 * @return the prompt.
123 public String getPrompt()
125 return prompt;
129 * Get the default text.
131 * @return the default text, or <code>null</code> if this
132 * <code>TextInputCallback</code> was not instantiated with
133 * <code>defaultText</code>.
135 public String getDefaultText()
137 return defaultText;
141 * Set the retrieved text.
143 * @param text the retrieved text, which may be <code>null</code>.
145 public void setText(String text)
147 this.inputText = text;
151 * Get the retrieved text.
153 * @return the retrieved text, which may be <code>null</code>.
155 public String getText()
157 return inputText;
160 private void setPrompt(String prompt) throws IllegalArgumentException
162 if ((prompt == null) || (prompt.length() == 0))
164 throw new IllegalArgumentException("invalid prompt");
166 this.prompt = prompt;
169 private void setDefaultText(String defaultText) throws IllegalArgumentException
171 if ((defaultText == null) || (defaultText.length() == 0))
173 throw new IllegalArgumentException("invalid default text");
175 this.defaultText = defaultText;