# Class JMXPrincipal

java.lang.Object
javax.management.remote.JMXPrincipal

All Implemented Interfaces:
  `Serializable, Principal`

public class JMXPrincipal extends Object implements Principal, Serializable

The identity of a remote client of the JMX Remote API.

Principals such as this `JMXPrincipal` may be associated with a particular `Subject` to augment that `Subject` with an additional identity. Refer to the `Subject` class for more information on how to achieve this. Authorization decisions can then be based upon the Principals associated with a `Subject`.

Since:
  1.5
See Also:
  - `Principal`
  - `Subject`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JMXPrincipal(String name)`
  Creates a JMXPrincipal for a given identity.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object o)`
  Compares the specified Object with this `JMXPrincipal` for equality.
  `String`
  `getName()`
  Returns the name of this principal.
  `int`
  `hashCode()`
  Returns a hash code for this `JMXPrincipal`.
  `String`
  `toString()`
  Returns a string representation of this `JMXPrincipal`.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods declared in interface Principal

  `implies`

- ## Constructor Details

  - ### JMXPrincipal

    public JMXPrincipal(String name)
    Creates a JMXPrincipal for a given identity.
    Parameters:
      `name` - the JMX Remote API name for this identity.
    Throws:
      `NullPointerException` - if the `name` is `null`.

- ## Method Details

  - ### getName

    public String getName()
    Returns the name of this principal.
    Specified by:
      `getName` in interface `Principal`
    Returns:
      the name of this `JMXPrincipal`.

  - ### toString

    public String toString()
    Returns a string representation of this `JMXPrincipal`.
    Specified by:
      `toString` in interface `Principal`
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this `JMXPrincipal`.

  - ### equals

    public boolean equals(Object o)
    Compares the specified Object with this `JMXPrincipal` for equality. Returns true if the given object is also a `JMXPrincipal` and the two JMXPrincipals have the same name.
    Specified by:
      `equals` in interface `Principal`
    Overrides:
      `equals` in class `Object`
    Parameters:
      `o` - Object to be compared for equality with this `JMXPrincipal`.
    Returns:
      true if the specified Object is equal to this `JMXPrincipal`.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

    public int hashCode()
    Returns a hash code for this `JMXPrincipal`.
    Specified by:
      `hashCode` in interface `Principal`
    Overrides:
      `hashCode` in class `Object`
    Returns:
      a hash code for this `JMXPrincipal`.
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(Object)`