CardTerminals
CardTerminals (카드 터미널 집합)
TerminalFactory가 지원하는 터미널의 집합을 나타내는 클래스입니다.
본문
이 클래스는 애플리케이션이 사용 가능한 CardTerminal들을 열거하고, 특정 CardTerminal을 얻거나, 카드의 삽입·제거를 기다릴 수 있게 해 줍니다. 이 클래스는 멀티스레드 안전하며 여러 스레드가 동시에 사용할 수 있어요. 다만 이 객체는 각 터미널의 카드 존재 상태를 추적하므로, 독립적인 waitForChange() 호출이 필요하다면 여러 객체를 사용해야 합니다.
애플리케이션은 TerminalFactory.terminals()를 호출해 이 클래스의 인스턴스를 얻습니다.
protected CardTerminals()
public List<CardTerminal> list() throws CardException
public abstract List<CardTerminal> list(CardTerminals.State state) throws CardException
public CardTerminal getTerminal(String name)
public void waitForChange() throws CardException
public abstract boolean waitForChange(long timeout) throws CardException
list(State)는 State라는 카드 존재 상태(예: CARD_PRESENT, CARD_ABSENT, ALL_CARDS)로 필터링해 터미널 목록을 반환하고, waitForChange는 터미널 상태가 바뀔 때까지 기다립니다.
public static final class State {
public static final State ALL_CARDS;
public static final State CARD_PRESENT;
public static final State CARD_ABSENT;
}