TerminalFactorySpi

TerminalFactorySpi (터미널 팩토리 SPI)

터미널 팩토리의 서비스 제공자 인터페이스(SPI)를 정의하는 클래스입니다.

출처: Java API Reference

본문

애플리케이션은 이 클래스에 직접 접근하지 않고 TerminalFactory를 사용합니다. 새 구현을 작성하려는 서비스 제공자는 Object를 매개변수로 받는 생성자를 가진 TerminalFactorySpi의 구체적인 하위 클래스를 정의하고, 그 클래스를 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, "Smart Card Example");
        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) {
        // initialize as appropriate
    }
    protected CardTerminals engineTerminals() {
        // add implementation code here
    }
}
protected TerminalFactorySpi()
protected abstract CardTerminals engineTerminals()

engineTerminals()는 이 SPI가 제공하는 CardTerminals를 반환하는 추상 메서드입니다.

더 알아보기 (Learn more)

Java 공식 API