javax.security.auth
Class PrivateCredentialPermission

java.lang.Object
  extended by java.security.Permission
      extended by javax.security.auth.PrivateCredentialPermission
All Implemented Interfaces:
Serializable, Guard

public final class PrivateCredentialPermission
extends Permission
implements Serializable

A permission governing access to a private credential. The action of this permission is always "read" -- meaning that the private credential information can be read from an object.

The target of this permission is formatted as follows:

CredentialClassName ( PrinicpalClassName PrincipalName )*

CredentialClassName is either the name of a private credential class name, or a wildcard character ('*'). PrinicpalClassName is the class name of a principal object, and PrincipalName is a string representing the principal, or the wildcard character.

See Also:
Serialized Form

Constructor Summary
PrivateCredentialPermission(String name, String actions)
          Create a new private credential permission.
 
Method Summary
 boolean equals(Object o)
          Check to see if this object equals obj.
 String getActions()
          Returns the actions this permission encompasses.
 String getCredentialClass()
          Returns the credential class name that was embedded in this permission's target name.
 String[][] getPrincipals()
          Returns the principal list that was embedded in this permission's target name.
 int hashCode()
          This method returns a hash code for this Permission.
 boolean implies(Permission p)
          Test if this permission implies another.
 PermissionCollection newPermissionCollection()
          This method is not necessary for this class, thus it always returns null.
 
Methods inherited from class java.security.Permission
checkGuard, getName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PrivateCredentialPermission

public PrivateCredentialPermission(String name,
                                   String actions)
Create a new private credential permission.

Parameters:
name - The permission target name.
actions - The list of actions, which, for this class, must be "read".
Method Detail

equals

public boolean equals(Object o)
Description copied from class: Permission
Check to see if this object equals obj. Use implies, rather than equals, when making access control decisions.

Specified by:
equals in class Permission
Parameters:
o - the object to compare to
Returns:
whether this Object is semantically equal to another
See Also:
Object.hashCode()

getActions

public String getActions()
Returns the actions this permission encompasses. For private credential permissions, this is always the string "read".

Specified by:
getActions in class Permission
Returns:
The list of actions.

getCredentialClass

public String getCredentialClass()
Returns the credential class name that was embedded in this permission's target name.

Returns:
The credential class name.

getPrincipals

public String[][] getPrincipals()
Returns the principal list that was embedded in this permission's target name.

Each element of the returned array is a pair; the first element is the principal class name, and the second is the principal name.

Returns:
The principal list.

hashCode

public int hashCode()
Description copied from class: Permission
This method returns a hash code for this Permission. It must satisfy the contract of Object.hashCode: it must be the same for all objects that equals considers to be the same.

Specified by:
hashCode in class Permission
Returns:
a hash value
See Also:
Object.equals(Object), System.identityHashCode(Object)

implies

public boolean implies(Permission p)
Test if this permission implies another. This method returns true if:
  1. p is an instance of PrivateCredentialPermission
  2. .
  3. The credential class name of this instance matches that of p, and one of the principals of p is contained in the principals of this class. Thus,
    • [ * P "foo" ] implies [ C P "foo" ]
    • [ C P1 "foo" ] implies [ C P1 "foo" P2 "bar" ]
    • [ C P1 "*" ] implies [ C P1 "foo" ]

Specified by:
implies in class Permission
Parameters:
p - The permission to check.
Returns:
True if this permission implies p.

newPermissionCollection

public PermissionCollection newPermissionCollection()
This method is not necessary for this class, thus it always returns null.

Overrides:
newPermissionCollection in class Permission
Returns:
null.