The TerminalFactorySpi class defines the service provider interface.
Applications do not access this class directly, instead see
TerminalFactory.
Service providers that want to write a new implementation should define
a concrete subclass of TerminalFactorySpi with a constructor that takes
an Object
as parameter. That class needs to be registered
in a Provider. The engine
type is
TerminalFactory
.
Service providers also need to implement subclasses of the abstract classes
CardTerminals, CardTerminal, Card,
and CardChannel.
For example:
file MyProvider.java:
package com.somedomain.card;
import java.security.Provider;
public class MyProvider extends Provider {
public MyProvider() {
super("MyProvider", 1.0d, "Smart Card Example");
put("TerminalFactory.MyType", "com.somedomain.card.MySpi");
}
}
file MySpi.java
package com.somedomain.card;
import javax.smartcardio.*;
public class MySpi extends TerminalFactoySpi {
public MySpi(Object parameter) {
// initialize as appropriate
}
protected CardTerminals engineTerminals() {
// add implementation code here
}
}