JobStateReasons
JobStateReasons (작업 상태 사유 집합)
작업의 현재 상태, 즉 작업의 JobState 속성 값을 보강하는 추가 정보를 제공하는 열거 값의 집합(셋)인 인쇄 속성 클래스예요.
본문
JobStateReason 인스턴스는 Print Job의 속성 집합에 직접 나타나지 않아요. 대신 JobStateReasons 속성이 Print Job의 속성 집합에 나타나요. JobStateReasons 속성은 Print Job 상태와 관련된 JobStateReason 객체를 0개, 1개 또는 그 이상 포함해요. 프린터는 해당 조건이 Print Job에 대해 참이 될 때 JobStateReason 객체를 추가하고, 해당 조건이 거짓이 될 때 Print Job의 전체 JobState가 바뀌었는지와 무관하게 JobStateReason 객체를 다시 제거해요.
JobStateReasons 클래스는 java.util.HashSet 클래스에서 구현을 상속받아요. 한번 생성되면 변경 불가능한 대부분의 인쇄 속성과 달리, JobStateReasons 클래스는 변경 가능하도록 설계됐어요. 기존 JobStateReasons 객체에 JobStateReason 객체를 추가하고 다시 제거할 수 있어요. 그러나 java.util.HashSet 클래스처럼 JobStateReasons 클래스는 다중 스레드에 안전하지 않아요. JobStateReasons 객체를 여러 스레드가 사용한다면 그 연산을 동기화해야 해요(예: java.util.Collections에서 얻은 동기화된 집합 뷰 사용).
IPP 호환성: 각 개별 JobStateReason 객체의 toString() 메서드가 반환하는 문자열 값이 IPP 키워드 값을 주고, getName()이 반환하는 카테고리 이름이 IPP 속성 이름을 줘요.
생성자 요약
- JobStateReasons() — 새로 비어 있는 작업 상태 사유 속성을 생성해요. 기반 해시 집합은 기본 초기 용량과 부하 계수를 가져요.
- JobStateReasons(int initialCapacity) — 새로 비어 있는 작업 상태 사유 속성을 생성해요. 기반 해시 집합은 주어진 초기 용량과 기본 부하 계수를 가져요. 초기 용량이 음수면
IllegalArgumentException을 던져요. - JobStateReasons(int initialCapacity, float loadFactor) — 새로 비어 있는 작업 상태 사유 속성을 생성해요. 기반 해시 집합은 주어진 초기 용량과 부하 계수를 가져요. 초기 용량이 음수면
IllegalArgumentException을 던져요. - JobStateReasons(Collection
collection) — 주어진 컬렉션과 같은JobStateReason객체를 포함하는 새 작업 상태 사유 속성을 생성해요. 기반 해시 집합의 초기 용량과 부하 계수는 상위 클래스 생성자HashSet(Collection)에 지정된 대로예요.collection이 null이거나 null 요소를 포함하면NullPointerException, 컬렉션의 요소가JobStateReason클래스의 인스턴스가 아니면ClassCastException을 던져요.
메서드 요약
- boolean add(JobStateReason o) — 지정된 요소가 이미 없으면 이 작업 상태 사유 속성에 추가해요. 추가할 요소는
JobStateReason클래스의 인스턴스여야 해요. 이미 포함돼 있으면 속성을 바꾸지 않고false를 반환해요. 요소가 null이면NullPointerException,JobStateReason인스턴스가 아니면ClassCastException을 던져요. (Since 1.5) - final Class<? extends Attribute> getCategory() — 이 인쇄 속성 값의 "카테고리"로 사용할 인쇄 속성 클래스를 가져와요.
JobStateReasons클래스의 카테고리는JobStateReasons클래스 자체예요. - final String getName() — 이 속성 값이 인스턴스인 카테고리의 이름을 가져와요.
JobStateReasons클래스의 카테고리 이름은"job-state-reasons"예요.