|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class CardTerminals extends Object
Этот класс является безопасной многопоточностью и может использоваться многократными потоками одновременно. Однако, этот объект отслеживает состояние присутствия карты каждого из его терминалов. Многократные объекты должны использоваться, если независимые звонки waitForChange () требуются.
Приложения могут получить экземпляры этого класса, вызывая TerminalFactory.terminals ().
TerminalFactory, CardTerminal| Модификатор и Тип | Класс и Описание |
|---|---|
static class |
CardTerminals. Государство
Перечисление атрибутов CardTerminal.
|
| Модификатор | Конструктор и Описание |
|---|---|
protected |
CardTerminals()
Создает новый объект CardTerminals.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
CardTerminal |
getTerminal(String name)
Возвращает терминал с указанным именем или нулем, если никакой такой терминал не существует.
|
List<CardTerminal> |
list()
Возвращает неподдающийся изменению список всех доступных терминалов.
|
abstract List<CardTerminal> |
list(CardTerminals.State state)
Возвращает неподдающийся изменению список всех терминалов, соответствующих указанное состояние.
|
void |
waitForChange()
Ожидает вставки карты или удаления в любом из терминалов этого объекта.
|
abstract boolean |
waitForChange(long timeout)
Ожидает вставки карты или удаления в любом из терминалов этого объекта или пока тайм-аут истекает.
|
protected CardTerminals()
Этого конструктора вызывают подклассы только. Приложение должно вызвать TerminalFactory.terminals (), чтобы получить объект CardTerminals.
public List<CardTerminal> list() throws CardException
CardException - если работа карты перестала работатьpublic abstract List<CardTerminal> list(CardTerminals.State state) throws CardException
Если состояние State.ALL, этот метод возвращает весь CardTerminals, инкапсулировавший этим объектом. Если состояние State.CARD_PRESENT или State.CARD_ABSENT, это возвращает весь CardTerminals, где карта в настоящий момент присутствует или отсутствует, соответственно.
Если состояние State.CARD_INSERTION или State.CARD_REMOVAL, это возвращает весь CardTerminals, для которого вставка (или удаление, соответственно) была обнаружена во время последней возможности к waitForChange (). Если waitForChange() не был вызван на этом объекте, CARD_INSERTION эквивалентно CARD_PRESENT и CARD_REMOVAL эквивалентно CARD_ABSENT. Для примера использования CARD_INSERTION, см. waitForChange().
state - государствоNullPointerException - если attr является нулемCardException - если работа карты перестала работатьpublic CardTerminal getTerminal(String name)
NullPointerException - если имя является нулемpublic void waitForChange()
throws CardException
Этот вызов эквивалентен вызову waitForChange (0).
IllegalStateException - если это CardTerminals объект не содержит терминаловCardException - если работа карты перестала работатьpublic abstract boolean waitForChange(long timeout)
throws CardException
Этот метод исследует каждый CardTerminal этого объекта. Если карта была вставлена в или удалена из CardTerminal начиная с предыдущего звонка waitForChange(), это сразу возвращается. Иначе, или если это - первый звонок waitForChange() на этом объекте это блокирует, пока карта не вставляется в или удаляется из CardTerminal.
Если timeout больше чем 0, возвраты метода после timeout миллисекунды, даже если нет никакого изменения в состоянии. В этом случае, этот метод возвраты false; иначе это возвращается true.
Этот метод часто используется в цикле в комбинации с list(State.CARD_INSERTION), например:
TerminalFactory factory = ...;
CardTerminals terminals = factory.terminals();
while (true) {
for (CardTerminal terminal : terminals.list(CARD_INSERTION)) {
// examine Card in terminal, return if it matches
}
terminals.waitForChange();
}timeout - если положительный, блок для до timeout миллисекунды; если нуль, блок неопределенно; не должно быть отрицательнымIllegalStateException - если это CardTerminals объект не содержит терминаловIllegalArgumentException - если тайм-аут отрицателенCardException - если работа карты перестала работать
Авторское право © 2005, 2011, Oracle и/или его филиалы. Все права защищены.