Class ClientMinPrincipal

java.lang.Object
net.jini.core.constraint.ClientMinPrincipal
All Implemented Interfaces:
Serializable, InvocationConstraint

public final class ClientMinPrincipal extends Object implements InvocationConstraint, Serializable
Represents a constraint on the client, such that if the client authenticates itself, then it must authenticate itself as at least all of the specified principals. The mechanisms and credentials used to authenticate the client as those principals are not specified by this constraint. This constraint is intended for use by clients to control how much of their identity is exposed in remote calls; it is not intended for use by servers as an authorization mechanism. For example, if the client's subject contains sufficient information to authenticate as two distinct principals, the client might wish to ensure that it authenticates as one, the other, or both, depending on what the client believes is necessary for authorization at the server.

The use of an instance of this class does not directly imply a ClientAuthentication.YES constraint; that must be specified separately to ensure that the client actually authenticates itself. Because this constraint is conditional on client authentication, it does not conflict with ClientAuthentication.NO.

Since:
2.0
Author:
Sun Microsystems, Inc.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a constraint containing the specified principal.
    Creates a constraint containing the specified principals, with duplicates removed.
    Creates a constraint containing the specified principals, with duplicates removed.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns an immutable set of all of the principals.
    boolean
    Two instances of this class are equal if they have the same principals (ignoring order).
    int
    Returns a hash code value for this object.
    Returns a string representation of this object.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ClientMinPrincipal

      public ClientMinPrincipal(Principal p)
      Creates a constraint containing the specified principal. This constructor is equivalent to calling a constructor with a single-element array containing the specified principal.
      Parameters:
      p - the principal
      Throws:
      NullPointerException - if the argument is null
    • ClientMinPrincipal

      public ClientMinPrincipal(Principal[] principals)
      Creates a constraint containing the specified principals, with duplicates removed. The argument passed to the constructor is neither modified nor retained; subsequent changes to that argument have no effect on the instance created.
      Parameters:
      principals - the principals
      Throws:
      NullPointerException - if the argument is null or any element is null
      IllegalArgumentException - if the argument is empty
    • ClientMinPrincipal

      public ClientMinPrincipal(Collection c)
      Creates a constraint containing the specified principals, with duplicates removed. The argument passed to the constructor is neither modified nor retained; subsequent changes to that argument have no effect on the instance created.
      Parameters:
      c - the principals
      Throws:
      NullPointerException - if the argument is null or any element is null
      IllegalArgumentException - if the argument is empty or the elements do not all implement the Principal interface
  • Method Details

    • elements

      public Set elements()
      Returns an immutable set of all of the principals. Any attempt to modify the set results in an UnsupportedOperationException being thrown.
      Returns:
      an immutable set of all of the principals
    • hashCode

      public int hashCode()
      Returns a hash code value for this object.
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Two instances of this class are equal if they have the same principals (ignoring order).
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Returns a string representation of this object.
      Overrides:
      toString in class Object