# Class PasswordCallback

java.lang.Object
javax.security.auth.callback.PasswordCallback

All Implemented Interfaces:
  `Serializable, Callback`

public class PasswordCallback extends Object implements Callback, Serializable

Underlying security services instantiate and pass a `PasswordCallback` to the `handle` method of a `CallbackHandler` to retrieve password information.

Since:
  1.4
See Also:
  - `CallbackHandler`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PasswordCallback(String prompt, boolean echoOn)`
  Construct a `PasswordCallback` with a prompt and a boolean specifying whether the password should be displayed as it is being typed.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `clearPassword()`
  Clear the retrieved password.
  `char[]`
  `getPassword()`
  Get the retrieved password.
  `String`
  `getPrompt()`
  Get the prompt.
  `boolean`
  `isEchoOn()`
  Return whether the password should be displayed as it is being typed.
  `void`
  `setPassword(char[] password)`
  Set the retrieved password.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### PasswordCallback

    public PasswordCallback(String prompt, boolean echoOn)
    Construct a `PasswordCallback` with a prompt and a boolean specifying whether the password should be displayed as it is being typed.
    Parameters:
      `prompt` - the prompt used to request the password.
      `echoOn` - true if the password should be displayed as it is being typed.
    Throws:
      `IllegalArgumentException` - if `prompt` is null or if `prompt` has a length of 0.

- ## Method Details

  - ### getPrompt

    public String getPrompt()
    Get the prompt.
    Returns:
      the prompt.

  - ### isEchoOn

    public boolean isEchoOn()
    Return whether the password should be displayed as it is being typed.
    Returns:
      the whether the password should be displayed as it is being typed.

  - ### setPassword

    public void setPassword(char[] password)
    Set the retrieved password.

    This method makes a copy of the input `password` before storing it.

    Parameters:
      `password` - the retrieved password, which may be null.
    See Also:
      - `getPassword()`

  - ### getPassword

    public char[] getPassword()
    Get the retrieved password.

    This method returns a copy of the retrieved password.

    Returns:
      the retrieved password, which may be null.
    See Also:
      - `setPassword(char[])`

  - ### clearPassword

    public void clearPassword()
    Clear the retrieved password.