Package es.gob.jmulticard.connection
Interface ApduConnection
-
- All Known Subinterfaces:
Cwa14890Connection
- All Known Implementing Classes:
AbstractApduConnectionIso7816,Cwa14890OneV1Connection,Cwa14890OneV2Connection,PaceConnection,SmartcardIoConnection
public interface ApduConnectionDefine los requerimientos de clases que representen una conexión con una tarjeta inteligente insertada en un lector.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddCardConnectionListener(CardConnectionListener ccl)Añade un objeto al que se notificará cuando existan eventos en la conexión.voidclose()Cierra la conexión con la tarjeta inteligente actualmente insertada en el lector.ApduConnectiongetSubConnection()Recupera la conexión subyacente utilizada por la conexión.java.lang.StringgetTerminalInfo(int terminal)Devuelve información sobre un terminal.long[]getTerminals(boolean onlyWithCardPresent)Devuelve todos los lectores de tarjetas presentes en el sistema.booleanisOpen()Indica si la conexión está abierta o no.voidopen()Abre la conexión con la tarjeta inteligente actualmente insertada en el lector.voidremoveCardConnectionListener(CardConnectionListener ccl)Indica que ya no se desea notificar a un objeto cuando existan eventos en la conexión.byte[]reset()Reinicializa la conexión con la tarjeta inteligente.voidsetProtocol(ApduConnectionProtocol p)Establece el Protocolo de conexión con la tarjeta.voidsetTerminal(int t)Establece el lector de tarjetas que se usará para la conexión.ResponseApdutransmit(CommandApdu command)Envía un comando APDU a la tarjeta inteligente.
-
-
-
Method Detail
-
setProtocol
void setProtocol(ApduConnectionProtocol p)
Establece el Protocolo de conexión con la tarjeta.- Parameters:
p- Protocolo de conexión con la tarjeta.
-
open
void open() throws ApduConnectionException
Abre la conexión con la tarjeta inteligente actualmente insertada en el lector.- Throws:
ApduConnectionException- Cuando ocurre cualquier problema abriendo la conexión.- See Also:
close()
-
close
void close() throws ApduConnectionExceptionCierra la conexión con la tarjeta inteligente actualmente insertada en el lector.- Throws:
ApduConnectionException- Cuando ocurre cualquier problema cerrando la conexión.- See Also:
open()
-
transmit
ResponseApdu transmit(CommandApdu command) throws ApduConnectionException
Envía un comando APDU a la tarjeta inteligente.- Parameters:
command- APDU que se desea enviar a la tarjeta.- Returns:
- APDU de respuesta de la tarjeta al envío.
- Throws:
ApduConnectionException- Cuando ocurre cualquier problema con la conexión transmitiendo la APDU.
-
reset
byte[] reset() throws ApduConnectionExceptionReinicializa la conexión con la tarjeta inteligente.- Returns:
- Respuesta al reset (ATR) de la tarjeta.
- Throws:
ApduConnectionException- Cuando ocurre cualquier problema reinicializando la conexión.
-
addCardConnectionListener
void addCardConnectionListener(CardConnectionListener ccl)
Añade un objeto al que se notificará cuando existan eventos en la conexión. Solo se notificarán las inserciones y las extracciones cuando la implementación subyacente lo soporte.- Parameters:
ccl- Objeto al que se desea notificar los eventos de la conexión.
-
removeCardConnectionListener
void removeCardConnectionListener(CardConnectionListener ccl)
Indica que ya no se desea notificar a un objeto cuando existan eventos en la conexión.- Parameters:
ccl- Objeto al que ya no se desea notificar los eventos de la conexión.
-
getTerminals
long[] getTerminals(boolean onlyWithCardPresent) throws ApduConnectionExceptionDevuelve todos los lectores de tarjetas presentes en el sistema.- Parameters:
onlyWithCardPresent- Para indicar que sólo devuelva lectores que tengan una tarjeta insertada.- Returns:
- Una lista con los identificadores de lectores de tarjetas conectados.
- Throws:
ApduConnectionException- Cuando ocurran problemas en la conexión con los lectores.
-
getTerminalInfo
java.lang.String getTerminalInfo(int terminal) throws ApduConnectionExceptionDevuelve información sobre un terminal.- Parameters:
terminal- Número de terminal que se desea obtener información.- Returns:
- Una descripción del terminal especificado.
- Throws:
ApduConnectionException- Cuando ocurren problemas en la conexión con los lectores.
-
setTerminal
void setTerminal(int t) throws ApduConnectionExceptionEstablece el lector de tarjetas que se usará para la conexión. Si se cambia el terminal estando la conexión ya abierta, se intentará reabrirla con el nuevo terminal.- Parameters:
t- Número de terminal que se desea pase a ser el actual.- Throws:
ApduConnectionException- Cuando se especifica un número de terminal no válido.
-
isOpen
boolean isOpen()
Indica si la conexión está abierta o no.- Returns:
truesi la conexión esta abierta,falsesi está cerrada.
-
getSubConnection
ApduConnection getSubConnection()
Recupera la conexión subyacente utilizada por la conexión.- Returns:
- Conexión subyacente con la tarjeta o
nullsi esta conexión es ya la de más bajo nivel.
-
-