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
-
Method Summary
-
Constructor Details
-
TerminalFactorySpi
protected TerminalFactorySpi()构造一个新的TerminalFactorySpi对象。这个类是服务提供者接口的一部分,不被应用程序直接访问。应用程序应该使用TerminalFactory对象,可以通过调用其中一个TerminalFactory.getInstance()方法来获取。
具体的子类应该定义一个构造函数,接受一个
Object
作为参数。当应用程序调用其中一个TerminalFactory.getInstance()方法并接收应用程序指定的params
对象时,将调用它。
-
-
Method Details
-
engineTerminals
返回此工厂创建的CardTerminals。- 返回:
- 此工厂创建的CardTerminals。
-