JobStateReason
JobStateReason (작업 상태 사유)
작업의 현재 상태, 즉 작업의 JobState 속성 값을 보강하는 추가 정보를 제공하는 열거형(enumeration) 인쇄 속성 클래스예요.
본문
JobStateReason은 표준 작업 상태 사유 값을 정의해요. Print Service 구현은 특정 구현에 적절한 작업 상태 사유만 보고하면 되고, 정의된 모든 작업 상태 사유를 보고할 필요는 없어요.
JobStateReason 인스턴스는 Print Job의 속성 집합에 직접 나타나지 않아요. 대신 JobStateReasons 속성이 Print Job의 속성 집합에 나타나요. JobStateReasons 속성은 Print Job 상태와 관련된 JobStateReason 객체를 0개, 1개 또는 그 이상 포함해요. 프린터는 해당 조건이 Print Job에 대해 참이 될 때 JobStateReason 객체를 Print Job의 JobStateReasons 속성에 추가하고, 해당 조건이 거짓이 될 때 Print Job의 전체 JobState가 바뀌었는지와 무관하게 JobStateReason 객체를 다시 제거해요.
IPP 호환성: getName()이 반환하는 카테고리 이름이 IPP 속성 이름이고, 열거형의 정수 값이 IPP 열거 값이에요. toString() 메서드는 속성 값의 IPP 문자열 표현을 반환해요.
상태 사유 필드
- JOB_INCOMING — 프린터가
Print Job을 만들었지만 아직 모든 인쇄 데이터에 접근하거나 받아들이는 것을 끝내지 못했어요. - JOB_DATA_INSUFFICIENT — 프린터가
Print Job을 만들었지만 작업을PROCESSING상태로 옮기기 전에 추가 인쇄 데이터를 기다리고 있어요. 프린터가 모든 데이터를 받기 전에 처리를 시작하면JOB_DATA_INSUFFICIENT사유를 제거하지만JOB_INCOMING사유는 남아요. 프린터가 모든 데이터를 받은 후 처리를 시작하면 두 사유를 동시에 제거해요. - DOCUMENT_ACCESS_ERROR — 프린터가 참조로 전달된 문서(즉, 인쇄 데이터 표현 객체가 URL인 경우) 하나 이상에 접근하지 못했어요. 이 사유는 파일이 존재하지 않거나 접근 제어 문제로 인한 접근 거부를 포함한 모든 파일 접근 문제를 다루기 위한 것이에요. 프린터가 작업을 중단해
ABORTED상태로 옮기거나, 접근 가능한 문서를 모두 인쇄하고 작업을COMPLETED상태로 옮기며COMPLETED_WITH_ERRORS사유를 추가할지는 구현 또는 사이트 정책에 따라 달라져요. 이 값은 프린터가 URL 인쇄 데이터 표현 객체를 가진 doc flavor를 지원한다면 지원해야 해요. - SUBMISSION_INTERRUPTED — 예상치 못한 이유로 작업이 완전히 제출되지 않았어요. 가능성으로는 (1) 클라이언트가 작업을 완전히 제출하기 전에 프린터가 충돌한 경우, (2) 문서 데이터가 프린터로 완전히 전송되기 전에 프린터나 문서 전송 방식이 복구 불가능한 방식으로 충돌한 경우, (3) 작업이 완전히 제출되기 전에 클라이언트가 충돌한 경우가 있어요.
- JOB_OUTGOING — 프린터가 작업을 출력 장치로 전송 중이에요.
- JOB_HOLD_UNTIL_SPECIFIED — 작업의
JobHoldUntil속성 값이 여전히 미래의 날짜-시간으로 지정됐어요. 이 사유가 제거되고 작업을 보류할 다른 이유가 없을 때까지 작업은 처리를 위한 후보가 될 수 없어요. 이 값은JobHoldUntil작업 템플릿 속성이 지원된다면 지원해야 해요. - RESOURCES_ARE_NOT_READY — 작업이 필요한 미디어, 글꼴, 리소스 객체 등 리소스 중 적어도 하나가 작업이 후보인 물리적 프린터 어디에도 준비되지 않았어요. 이 조건은 구현에 따라 작업이 수락될 때 또는 이후 작업이 보류 중이거나 처리 중일 때 감지될 수 있어요. 작업은 구현 또는 작업 스케줄링 정책에 따라 현재 상태를 유지하거나
PENDING_HELD상태로 옮겨질 수 있어요. - PRINTER_STOPPED_PARTLY — 프린터의
PrinterStateReasons속성 값에STOPPED_PARTLY의PrinterStateReason값이 포함돼 있어요. - PRINTER_STOPPED — 프린터의
PrinterState속성 값이STOPPED예요. - JOB_INTERPRETING — 작업이
PROCESSING상태에 있지만, 더 구체적으로 프린터가 문서 데이터를 해석하고 있어요. - JOB_QUEUED — 작업이
PROCESSING상태에 있지만, 더 구체적으로 프린터가 문서 데이터를 큐에 넣었어요. - JOB_TRANSFORMING — 작업이
PROCESSING상태에 있지만, 더 구체적으로 프린터가 문서 데이터를 해석하고 다른 전자적 표현을 만들어 내고 있어요. - JOB_QUEUED_FOR_MARKER — 작업이
PENDING_HELD,PENDING, 또는PROCESSING상태에 있지만, 더 구체적으로 프린터가 표시(marking)를 시작할 수 있을 만큼 문서 처리를 마쳤고 작업이 마커를 기다리고 있어요. 작업을 해제하려면 사람의 개입이 필요한 시스템은 작업을PENDING_HELD상태로 두고, 마커를 사용할 작업을 자동으로 선택하는 시스템은 구현에 따라PENDING상태로 두거나PROCESSING상태로 유지하면서 마커를 기다려요. 모든 구현은 표시가 실제로 시작될 때 작업을PROCESSING상태로 (다시) 넣어요. - JOB_PRINTING — 출력 장치가 매체에 표시를 하고 있어요. 이 값은 (1) 표시가 일어나지 않는 동안 처리에 많은 시간을 쓰고 이제 표시가 일어나는 것을 보여주고 싶은 프린터나, (2) 작업이
PROCESSING상태로 남아 있는 동안 취소 또는 중단 과정에 있지만 표시가 아직 멈추지 않아 인상 또는 시트 수가 계속 늘어나는 프린터에 유용해요. - JOB_CANCELED_BY_USER — 작업 소유자에 의해 작업이 취소됐어요. 즉 인증된 정체성이
Print Job을 만든 원래 사용자 값과 같거나 보안 그룹 구성원 같은 다른 권한 있는 최종 사용자에 의해 취소됐어요. 이 값은 지원해야 해요. - JOB_CANCELED_BY_OPERATOR — 운영자에 의해 작업이 취소됐어요. 즉 운영자 권한으로 인증된 사용자(로컬이든 원격이든)에 의해 취소됐어요. 보안 정책이 누구나 아무 작업을 취소할 수 있게 허용한다면, 작업 소유자가 아닌 다른 사람이 취소할 때 이 값을 사용할 수 있어요. 이런 보안 정책에서는 사실상 모든 사람이 작업 취소에 있어 운영자예요. 이 값은 구현이 작업 소유자가 아닌 다른 사람의 취소를 허용한다면 지원해야 해요.
- JOB_CANCELED_AT_DEVICE — 식별되지 않은 로컬 사용자, 즉 장치의 콘솔에 있는 사용자가 작업을 취소했어요. 이 값은 구현이 콘솔에서의 작업 취소를 지원한다면 지원해야 해요.
- ABORTED_BY_SYSTEM — 시스템이 작업을 중단했어요. 작업이 (1) 중단되는 중이거나, (2) 시스템에 의해 중단되어
ABORTED상태로 놓였거나, (3) 시스템에 의해 중단되어PENDING_HELD상태로 놓여 사용자나 운영자가 수동으로 다시 시도할 수 있어요. 이 값은 지원해야 해요. - UNSUPPORTED_COMPRESSION — 문서 데이터를 압축 해제하는 동안 프린터가 압축이 실제로 지원되는 압축 방식 중 하나가 아님을 확인해 시스템이 작업을 중단했어요.
Compression은 필수 doc 설명 속성이므로 이 값은 반드시 지원해야 해요. - COMPRESSION_ERROR — 문서 데이터를 압축 해제하는 동안 프린터가 오류를 만나 시스템이 작업을 중단했어요. 이 사유를 게시했다면 문서 데이터는 이미
UNSUPPORTED_COMPRESSION작업 상태 사유로 이끌었을 테스트를 통과한 상태예요. - UNSUPPORTED_DOCUMENT_FORMAT — 문서 데이터의 문서 형식(doc flavor)이 지원되는 형식 중 하나가 아니어서 시스템이 작업을 중단했어요. 클라이언트가 MIME 타입
"application/octet-stream"인 doc flavor를 지정하면, 자동 감지로 문서 데이터의 실제 형식을 확인할 수 없을 때 프린터는 작업을 중단할 수 있어요. 각 doc에 대해 doc flavor가 지정돼야 하므로 이 값은 반드시 지원해야 해요. - DOCUMENT_FORMAT_ERROR — 문서 데이터를 처리하는 동안 프린터가 오류를 만나 시스템이 작업을 중단했어요. 이 사유를 게시했다면 문서 데이터는 이미
UNSUPPORTED_DOCUMENT_FORMAT작업 상태 사유로 이끌었을 테스트를 통과한 상태예요. - PROCESSING_TO_STOP_POINT — 요청자가 작업을 취소했거나 프린터가 작업을 중단했지만, 지정된 중지 지점이 발생하거나 작업 종료/정리가 완료될 때까지 프린터가 작업에 대해 일부 작업을 계속 수행하고 있어요. 구현이
PROCESSING또는PROCESSING_STOPPED작업 상태에서 작업을 취소하는 데 측정 가능한 시간이 필요하다면, 프린터는 작업이 그 상태로 남아 있는 동안에도 일부 작업을 수행하고 있음을 나타내는 데 이 사유를 사용해야 해요. 모든 작업 설명 속성 증가가 멈춘 후 프린터는 작업을PROCESSING상태에서CANCELED또는ABORTED상태로 옮겨요. - SERVICE_OFF_LINE — 프린터가 오프라인이고 작업을 받아들이지 않아요. 모든
PENDING작업은PENDING_HELD상태로 놓여요. 이 상황은 서비스나 문서 변환의 입력이 손상되거나 끊어진 경우에 일어날 수 있어요. - JOB_COMPLETED_SUCCESSFULLY — 작업이 성공적으로 완료됐어요. 이 값은 지원해야 해요.
- JOB_COMPLETED_WITH_WARNINGS — 작업이 경고와 함께 완료됐어요. 이 값은 구현이 경고를 감지한다면 지원해야 해요.
- JOB_COMPLETED_WITH_ERRORS — 작업이 오류와 함께(경고도 있을 수 있음) 완료됐어요. 이 값은 구현이 오류를 감지한다면 지원해야 해요.
- JOB_RESTARTABLE — 이 작업이 보유되고 현재 다시 시작할 수 있어요.
JOB_RESTARTABLE이 작업의JobStateReasons속성에 포함돼 있다면 프린터는 그 작업을 다시 시작하라는 요청을 받아들여야 해요. 작업 다시 시작을 지원한다면 이 값은 지원해야 해요. (작업 다시 시작 기능은 현재 Java Print Service API에 없어요.) - QUEUED_IN_DEVICE — 작업이 상태를 다시 보낼 수 없는 장치나 인쇄 시스템으로 전달됐어요. 프린터는 작업의
JobState속성을COMPLETED로 설정하고QUEUED_IN_DEVICE사유를 추가해 프린터가 작업에 대한 추가 정보가 없고 더 나은 정보를 가질 수도 없음을 나타내요.
생성자 요약
- protected JobStateReason(int value) — 주어진 정수 값으로 새 작업 상태 사유 열거 값을 생성해요.
메서드 요약
- final Class<? extends Attribute> getCategory() — 이 인쇄 속성 값의 "카테고리"로 사용할 인쇄 속성 클래스를 가져와요.
JobStateReason클래스와 벤더 정의 하위 클래스의 카테고리는JobStateReason클래스 자체예요. - protected EnumSyntax[] getEnumValueTable() —
JobStateReason클래스의 열거 값 테이블을 반환해요. - final String getName() — 이 속성 값이 인스턴스인 카테고리의 이름을 가져와요.
JobStateReason클래스와 벤더 정의 하위 클래스의 카테고리 이름은"job-state-reason"이에요. - protected String[] getStringTable() —
JobStateReason클래스의 문자열 테이블을 반환해요.