NTSid (Java SE 26 & JDK 26)
Description: declaration: module: jdk.security.auth, package: com.sun.security.auth, class: NTSid
Keywords: com.sun.security.auth.NTSid class

# Class NTSid

java.lang.Object
com.sun.security.auth.NTSid

All Implemented Interfaces:
  `Serializable, Principal`

Direct Known Subclasses:
  `NTSidDomainPrincipal, NTSidGroupPrincipal, NTSidPrimaryGroupPrincipal, NTSidUserPrincipal`

public class NTSid extends Object implements Principal, Serializable
This class implements the `Principal` interface and represents information about a Windows NT user, group or realm.

Windows NT chooses to represent users, groups and realms (or domains) with not only common names, but also relatively unique numbers. These numbers are called Security IDentifiers, or SIDs. Windows NT also provides services that render these SIDs into string forms. This class represents these string forms.

Principals such as this `NTSid` 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.4
See Also:
  - `Principal`
  - `Subject`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `NTSid(String stringSid)`
  Create an `NTSid` with a Windows NT SID.

- ## Method Summary

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

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `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`.
  `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.
  `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.

  ### Methods declared in interface Principal

  `implies`
  Modifier and Type
  Method
  Description
  `default boolean`
  `implies(Subject subject)`
  Returns `true` if the specified subject is implied by this `Principal`.

- ## Constructor Details

  - ### NTSid

    public NTSid(String stringSid)
    Create an `NTSid` with a Windows NT SID.
    Parameters:
      `stringSid` - the Windows NT SID.
    Throws:
      `NullPointerException` - if the `String` is `null`.
      `IllegalArgumentException` - if the `String` has zero length.

- ## Method Details

  - ### getName

    public String getName()
    Return a string version of this `NTSid`.
    Specified by:
      `getName` in interface `Principal`
    Returns:
      a string version of this `NTSid`

  - ### toString

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

  - ### equals

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

  - ### hashCode

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