Java Smart Card I/O

javax.smartcardio
Class CardPermission

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

public class CardPermission
extends Permission

A permission for Smart Card operations. A CardPermission consists of the name of the card terminal the permission applies to and a set of actions that are valid for that terminal.

A CardPermission with a name of * applies to all card terminals. The actions string is a comma separated list of the actions listed below, or * to signify "all actions."

Individual actions are:

connect
connect to a card using CardTerminal.connect()
reset
reset the card using Card.disconnect(true)
exclusive
establish exclusive access to a card using Card.beginExclusive() and endExclusive()
transmitControl
transmit a control command using Card.transmitControlCommand()
getBasicChannel
obtain the basic logical channel using Card.getBasicChannel()
openLogicalChannel
open a new logical channel using Card.openLogicalChannel()

Since:
1.6
See Also:
Serialized Form

Constructor Summary
CardPermission(String terminalName, String actions)
          Constructs a new CardPermission with the specified actions.
 
Method Summary
 boolean equals(Object obj)
          Compares the specified object with this CardPermission for equality.
 String getActions()
          Returns the canonical string representation of the actions.
 int hashCode()
          Returns the hash code value for this CardPermission object.
 boolean implies(Permission permission)
          Checks if this CardPermission object implies the specified permission.
 
Methods inherited from class java.security.Permission
checkGuard, getName, newPermissionCollection, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CardPermission

public CardPermission(String terminalName,
                      String actions)
Constructs a new CardPermission with the specified actions. terminalName is the name of a CardTerminal or * if this permission applies to all terminals. actions contains a comma-separated list of the individual actions or * to signify all actions. For more information, see the documentation at the top of this class.

Parameters:
terminalName - the name of the card terminal, or *
actions - the action string (or null if the set of permitted actions is empty)
Throws:
NullPointerException - if terminalName is null
IllegalArgumentException - if actions is an invalid actions specification
Method Detail

getActions

public String getActions()
Returns the canonical string representation of the actions. It is * to signify all actions defined by this class or the string concatenation of the comma-separated, lexicographically sorted list of individual actions.

Specified by:
getActions in class Permission
Returns:
the canonical string representation of the actions.

implies

public boolean implies(Permission permission)
Checks if this CardPermission object implies the specified permission. That is the case, if and only if

Specified by:
implies in class Permission
Parameters:
permission - the permission to check against
Returns:
true if and only if this CardPermission object implies the specified permission.

equals

public boolean equals(Object obj)
Compares the specified object with this CardPermission for equality. This CardPermission is equal to another Object object, if and only if

Specified by:
equals in class Permission
Parameters:
obj - the object to be compared for equality with this CardPermission
Returns:
true if and only if the specified object is equal to this CardPermission

hashCode

public int hashCode()
Returns the hash code value for this CardPermission object.

Specified by:
hashCode in class Permission
Returns:
the hash code value for this CardPermission object.

Java Smart Card I/O