opencard.core.terminal
Interface CardTerminalFactory

All Known Implementing Classes:
CTAPICardTerminalFactory, JCOPSimCardTerminalFactory, JCWDPSimCardTerminalFactory, Pcsc10CardTerminalFactory, Pcsc10LockableTerminalFactory, SmartCardIOFactory

public interface CardTerminalFactory

A CardTerminalFactory produces CardTerminal objects of a certain type attached at an address.

As with the opencard.core.service.CardServiceFactory the idea here is that a card terminal manufacturer shall provide his own version of a CardTerminalFactory that can produce appropriate CardTerminal objects.

Version:
$Id: CardTerminalFactory.java,v 1.1.1.1 1999/10/05 15:34:31 damke Exp $
Author:
Dirk Husemann (hud@zurich.ibm.com), Stephan Breideneich (sbreiden@de.ibm.com)
See Also:
CardTerminal, CardTerminalRegistry

Field Summary
static int TERMINAL_ADDRESS_ENTRY
          third element in terminal configuration array
static int TERMINAL_NAME_ENTRY
          first element in terminal configuration array
static int TERMINAL_TYPE_ENTRY
          second element in terminal configuration array
 
Method Summary
 void close()
          deinitialize the CardTerminalFactory
 void createCardTerminals(CardTerminalRegistry ctr, java.lang.String[] terminalInfo)
          create a specific CardTerminal object that knows how to handle a specific card terminal and register it to the CardTerminalRegistry.
 void open()
          initialize the CardTerminalFactory
 

Field Detail

TERMINAL_NAME_ENTRY

static final int TERMINAL_NAME_ENTRY
first element in terminal configuration array

See Also:
Constant Field Values

TERMINAL_TYPE_ENTRY

static final int TERMINAL_TYPE_ENTRY
second element in terminal configuration array

See Also:
Constant Field Values

TERMINAL_ADDRESS_ENTRY

static final int TERMINAL_ADDRESS_ENTRY
third element in terminal configuration array

See Also:
Constant Field Values
Method Detail

createCardTerminals

void createCardTerminals(CardTerminalRegistry ctr,
                         java.lang.String[] terminalInfo)
                         throws CardTerminalException,
                                TerminalInitException
create a specific CardTerminal object that knows how to handle a specific card terminal and register it to the CardTerminalRegistry.

Parameters:
ctr - the CardTerminalRegistry for registration-process
terminalInfo - the parameter array for the terminal. {TerminalName, TerminalType, factory-specific count of parameters....}.
Throws:
OpenCardInitializationException - thrown when initialization error occured
CardTerminalException - thrown when CardTerminal error occured
TerminalInitException - thrown when terminalInfo is incorrect or factory not able to support requested terminal type.

open

void open()
          throws CardTerminalException
initialize the CardTerminalFactory

Throws:
CardTerminalException - thrown when error occurred while open initializes the factory.

close

void close()
           throws CardTerminalException
deinitialize the CardTerminalFactory

Throws:
CardTerminalException - thrown when error occurred while close deinitializes the factory.