Class JCOPSimCardTerminal


  • public class JCOPSimCardTerminal
    extends CardTerminal
    Class implementing a JCOP simulation card terminal
    Author:
    Frank Thater (info@cardcontact.de)
    • Field Detail

    • Constructor Detail

      • JCOPSimCardTerminal

        public JCOPSimCardTerminal​(java.lang.String name,
                                   java.lang.String type,
                                   java.lang.String address,
                                   java.lang.String host,
                                   int port,
                                   int timeout)
                            throws CardTerminalException
        Constructor for JCOPSimCardTerminal
        Parameters:
        name - Friendly name of the terminal
        type - Type of the card terminal
        address - Identifier for the driver to locate the terminal
        host - Host of the remote terminal simulation
        port - Port number of the remote terminal simulation
        timeout -
        Throws:
        CardTerminalException
    • Method Detail

      • getCardID

        public CardID getCardID​(int slotID)
                         throws CardTerminalException
        Description copied from class: CardTerminal
        Return the answer-to-reset (ATR) response of the card inserted in slot slotID as a CardID. Before calling this method the caller should make sure that a card is present, otherwise null may be returned.

        This call should NOT block if no card is present.

        Specified by:
        getCardID in class CardTerminal
        Parameters:
        slotID - slot id.
        Returns:
        The ATR response in form of a CardID object or null if no card is present.
        Throws:
        CardTerminalException - Thrown in case of problems in the card terminal.
      • isCardPresent

        public boolean isCardPresent​(int slotID)
                              throws CardTerminalException
        Description copied from class: CardTerminal
        Check whether there is a smart card present in a particular slot.
        Specified by:
        isCardPresent in class CardTerminal
        Parameters:
        slotID - slot to check for a card.
        Returns:
        True if there is a smart card inserted in the slot.
        Throws:
        CardTerminalException - thrown in case of problems getting the status from CardTerminal (or other serious problems in the terminal).
      • open

        public void open()
                  throws CardTerminalException
        Description copied from class: CardTerminal
        Initializes the CardTerminal. Implementations of this method must carry out all steps required to set the concrete terminal into a proper state. After invoking this method it should be possible to communicate with the terminal properly.
        Specified by:
        open in class CardTerminal
        Throws:
        CardTerminalException - thrown in case of initialization-errors (e.g. couldn't setup transfer protocol between CardTerminal and reader).
      • close

        public void close()
                   throws CardTerminalException
        Description copied from class: CardTerminal
        Closes the CardTerminal. Implementations of this method must carry out all steps required to close the concrete terminal and free resources held by it.
        Specified by:
        close in class CardTerminal
        Throws:
        CardTerminalException - thrown in case of initialization-errors (e.g. couldn't setup transfer protocol between CardTerminal and reader).
      • internalReset

        protected CardID internalReset​(int slot,
                                       int ms)
                                throws CardTerminalException
        Description copied from class: CardTerminal
        The internal reset method to be provided by the concrete implementation.
        Specified by:
        internalReset in class CardTerminal
        Parameters:
        slot - The slot number of the slot to be resetted.
        ms - To be ignored. If the card does not respond within the time specified for the protocol an exception should be thrown.
        Returns:
        The CardID of the card.
        Throws:
        CardTerminalException - thrown in case of errors during reset
      • internalCloseSlotChannel

        protected void internalCloseSlotChannel​(SlotChannel sc)
        Description copied from class: CardTerminal
        The internal closeSlotChannel method. internalCloseSlotChannel is executed at the end of closeSlotChannel.
        Overrides:
        internalCloseSlotChannel in class CardTerminal
      • internalSendAPDU

        protected ResponseAPDU internalSendAPDU​(int slot,
                                                CommandAPDU capdu,
                                                int ms)
                                         throws CardTerminalException
        Description copied from class: CardTerminal
        The internalSendAPDU method to be provided by the concrete implementation.
        Specified by:
        internalSendAPDU in class CardTerminal
        Parameters:
        slot - The slot number of the slot to be resetted.
        capdu - The CommandAPDU to send.
        ms - To be ignored. If the card does not respond within the time specified for the protocol an exception should be thrown.
        Returns:
        A ResponseAPDU.
        Throws:
        CardTerminalException - thrown in case of errors in the CardTerminal (e.g. errors during data exchange)