Class TerminalFactorySpi

java.lang.Object
javax.smartcardio.TerminalFactorySpi

public abstract class TerminalFactorySpi extends Object
TerminalFactorySpi类定义了服务提供者接口。应用程序不直接访问这个类,而是参见TerminalFactory

想要编写新实现的服务提供者应该定义一个具体的TerminalFactorySpi子类,构造函数接受一个Object作为参数。该类需要在一个Provider中注册。引擎类型TerminalFactory。服务提供者还需要实现抽象类的子类CardTerminalsCardTerminalCardCardChannel

例如:

文件 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 Details

    • TerminalFactorySpi

      protected TerminalFactorySpi()
      构造一个新的TerminalFactorySpi对象。

      这个类是服务提供者接口的一部分,不被应用程序直接访问。应用程序应该使用TerminalFactory对象,可以通过调用其中一个TerminalFactory.getInstance()方法来获取。

      具体的子类应该定义一个构造函数,接受一个Object作为参数。当应用程序调用其中一个TerminalFactory.getInstance()方法并接收应用程序指定的params对象时,将调用它。

  • Method Details

    • engineTerminals

      protected abstract CardTerminals engineTerminals()
      返回此工厂创建的CardTerminals。
      返回:
      此工厂创建的CardTerminals。