java.lang.Object
javax.smartcardio.TerminalFactorySpi
TerminalFactorySpi类定义了服务提供者接口。应用程序不直接访问这个类,而是参见TerminalFactory。
想要编写新实现的服务提供者应该定义一个具体的TerminalFactorySpi子类,构造函数接受一个Object作为参数。该类需要在一个Provider中注册。引擎类型是TerminalFactory。服务提供者还需要实现抽象类的子类CardTerminals、CardTerminal、Card和CardChannel。
例如:
文件 MyProvider.java:
package com.somedomain.card;
import java.security.Provider;
public class MyProvider extends Provider {
public MyProvider() {
super("MyProvider", 1.0d, "智能卡示例");
put("TerminalFactory.MyType", "com.somedomain.card.MySpi");
}
}
文件 MySpi.java
package com.somedomain.card;
import javax.smartcardio.*;
public class MySpi extends TerminalFactoySpi {
public MySpi(Object parameter) {
// 适当初始化
}
protected CardTerminals engineTerminals() {
// 在这里添加实现代码
}
}
- 自1.6版本起:
- 1.6
- 参见:
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
TerminalFactorySpi
protected TerminalFactorySpi()构造一个新的TerminalFactorySpi对象。这个类是服务提供者接口的一部分,不被应用程序直接访问。应用程序应该使用TerminalFactory对象,可以通过调用其中一个TerminalFactory.getInstance()方法来获取。
具体的子类应该定义一个构造函数,接受一个
Object作为参数。当应用程序调用其中一个TerminalFactory.getInstance()方法并接收应用程序指定的params对象时,将调用它。
-
-
Method Details
-
engineTerminals
返回此工厂创建的CardTerminals。- 返回:
- 此工厂创建的CardTerminals。
-