Class CardTerminal

    • Constructor Detail

      • CardTerminal

        protected CardTerminal​()
        Constructs a new CardTerminal object.

        This constructor is called by subclasses only. Application should call list() or getTerminal() to obtain a CardTerminal object.

    • Method Detail

      • getName

        public abstract String getName​()
        Returns the unique name of this terminal.
        Returns:
        the unique name of this terminal.
      • connect

        public abstract Card connect​(String protocol)
                              throws CardException
        Establishes a connection to the card. If a connection has previously established using the specified protocol, this method returns the same Card object as the previous call.
        Parameters:
        protocol - the protocol to use ("T=0", "T=1", or "T=CL"), or "*" to connect using any available protocol.
        Returns:
        the card the connection has been established with
        Throws:
        NullPointerException - if protocol is null
        IllegalArgumentException - if protocol is an invalid protocol specification
        CardNotPresentException - if no card is present in this terminal
        CardException - if a connection could not be established using the specified protocol or if a connection has previously been established using a different protocol
        SecurityException - if a SecurityManager exists and the caller does not have the required permission
      • isCardPresent

        public abstract boolean isCardPresent​()
                                       throws CardException
        Returns whether a card is present in this terminal.
        Returns:
        whether a card is present in this terminal.
        Throws:
        CardException - if the status could not be determined
      • waitForCardPresent

        public abstract boolean waitForCardPresent​(long timeout)
                                            throws CardException
        Waits until a card is present in this terminal or the timeout expires. If the method returns due to an expired timeout, it returns false. Otherwise it return true.

        If a card is present in this terminal when this method is called, it returns immediately.

        Parameters:
        timeout - if positive, block for up to timeout milliseconds; if zero, block indefinitely; must not be negative
        Returns:
        false if the method returns due to an expired timeout, true otherwise.
        Throws:
        IllegalArgumentException - if timeout is negative
        CardException - if the operation failed
      • waitForCardAbsent

        public abstract boolean waitForCardAbsent​(long timeout)
                                           throws CardException
        Waits until a card is absent in this terminal or the timeout expires. If the method returns due to an expired timeout, it returns false. Otherwise it return true.

        If no card is present in this terminal when this method is called, it returns immediately.

        Parameters:
        timeout - if positive, block for up to timeout milliseconds; if zero, block indefinitely; must not be negative
        Returns:
        false if the method returns due to an expired timeout, true otherwise.
        Throws:
        IllegalArgumentException - if timeout is negative
        CardException - if the operation failed