Class CardPermission

java.lang.Object
java.security.Permission
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:
  • Constructor Summary

    Constructors
    Constructor
    Description
    CardPermission(String terminalName, String actions)
    Constructs a new CardPermission with the specified actions.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Compares the specified object with this CardPermission for equality.
    Returns the canonical string representation of the actions.
    int
    Returns the hash code value for this CardPermission object.
    boolean
    implies(Permission permission)
    Checks if this CardPermission object implies the specified permission.

    Methods declared in class Permission

    checkGuard, getName, newPermissionCollection, toString
    Modifier and Type
    Method
    Description
    void
    Implements the guard interface for a permission.
    final String
    Returns the name of this Permission.
    Returns an empty PermissionCollection for a given Permission object, or null if one is not defined.
    Returns a string describing this Permission.

    Methods declared in class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • 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 Details

    • 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
      • permission is an instance of CardPermission,

      • permission's actions are a proper subset of this object's actions, and

      • this object's getName() method is either * or equal to permission's name.

      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
      • object is an instance of CardPermission,

      • this.getName() is equal to ((CardPermission)object).getName(), and

      • this.getActions() is equal to ((CardPermission)object).getActions().

      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
      See Also:
    • 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.
      See Also: