# Class CallerPrincipalCallback

java.lang.Object
jakarta.security.auth.message.callback.CallerPrincipalCallback

All Implemented Interfaces:
  `Callback`

public class CallerPrincipalCallback extends Object implements Callback
Callback that enables an authentication module to inform the runtime of the caller principal or name of the caller principal. The callback handler populates the given Subject with the authenticated principal, or returns the principal/name that was provided.

## Constructor Summary

Constructors
Constructor
Description
`CallerPrincipalCallback(Subject subject, String name)`
Constructs a callback with a Subject and a caller name.
`CallerPrincipalCallback(Subject subject, Principal principal)`
Constructs a callback with a Subject and a Principal.

## Method Summary

Modifier and Type
Method
Description
`String`
`getName()`
Returns the name associated with this callback, or `null` if a Principal was provided instead.
`Principal`
`getPrincipal()`
Returns the Principal associated with this callback, or `null` if a name was provided instead.
`Subject`
`getSubject()`
Returns the Subject associated with this callback.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CallerPrincipalCallback

public CallerPrincipalCallback(Subject subject, Principal principal)
Constructs a callback with a Subject and a Principal. The callback handler will add the principal to the subject.

Parameters:
  `subject` - the subject to which the principal will be added
  `principal` - the principal representing the caller

### CallerPrincipalCallback

public CallerPrincipalCallback(Subject subject, String name)
Constructs a callback with a Subject and a caller name. The callback handler will create a principal from the name and add it to the subject.

Parameters:
  `subject` - the subject to which the principal will be added
  `name` - the name of the caller

## Method Details

### getSubject

public Subject getSubject()
Returns the Subject associated with this callback.

Returns:
  the Subject

### getPrincipal

public Principal getPrincipal()
Returns the Principal associated with this callback, or `null` if a name was provided instead.

Returns:
  the Principal, or `null`

### getName

public String getName()
Returns the name associated with this callback, or `null` if a Principal was provided instead.

Returns:
  the name, or `null`