JavaTM Platform
Standard Ed. 6

javax.print.attribute
클래스 EnumSyntax

java.lang.Object 
  상위를 확장 javax.print.attribute.EnumSyntax
모든 구현된 인터페이스:
Serializable , Cloneable
직계의 기존의 서브 클래스:
Chromaticity , ColorSupported , Compression , Fidelity , Finishings , JobSheets , JobState , JobStateReason , Media , MultipleDocumentHandling , OrientationRequested , PDLOverrideSupported , PresentationDirection , PrinterIsAcceptingJobs , PrinterState , PrinterStateReason , PrintQuality , ReferenceUriSchemesSupported , Severity , SheetCollate , Sides


public abstract class EnumSyntax
extends Object
implements Serializable , Cloneable

EnumSyntax 클래스는, 모든 「형태 보증된 열거」객체의 일반적인 구현을 제공하는 추상 base class입니다. EnumSyntax 클래스의 확장인 열거 클래스는, 열거 클래스의 단독 인스턴스인 열거치 (객체)의 그룹을 제공합니다. 다음에 예를 나타냅니다.

     public class Bach extends EnumSyntax {
         public static final Bach JOHANN_SEBASTIAN     = new Bach(0);
         public static final Bach WILHELM_FRIEDEMANN   = new Bach(1);
         public static final Bach CARL_PHILIP_EMMANUEL = new Bach(2);
         public static final Bach JOHANN_CHRISTIAN     = new Bach(3);
         public static final Bach P_D_Q                = new Bach(4);

         private static final String[] stringTable = {
             "Johann Sebastian Bach",
              "Wilhelm Friedemann Bach",
              "Carl Philip Emmanuel Bach",
              "Johann Christian Bach",
              "P.D.Q.  Bach"
         };

         protected String[] getStringTable() {
             return stringTable;
         }

         private static final Bach[] enumValueTable = {
             JOHANN_SEBASTIAN,
              WILHELM_FRIEDEMANN,
              CARL_PHILIP_EMMANUEL,
              JOHANN_CHRISTIAN,
              P_D_Q
         };

         protected EnumSyntax[] getEnumValueTable() {
             return enumValueTable;
         }
     }
 
그 다음에,==! = 연산자를 사용하는 코드를 기술해, 열거치를 판정할 수 있습니다. 다음에 예를 나타냅니다.
     Bach theComposer;
     .  .  .
     if (theComposer == Bach.JOHANN_SEBASTIAN) {
         System.out.println ("The greatest composer of all time! ");
     }
 
열거 클래스의 equals() 메소드는, 동일한 객체 (==)의 판정만을 실시합니다.  

열거치를 캐릭터 라인으로 변환하려면 ,toString() 를 호출합니다. 캐릭터 라인은 열거 클래스가 제공하는 테이블에서 취득됩니다.  

배후에 있는 구현에서는, 열거치는 정수치뿐이어, 열거 클래스내의 열거치 마다 다른 정수치를 할당할 수 있고 있습니다. 열거치의 정수치를 가져오려면 ,getValue() 를 호출합니다. 열거치의 정수치는, 열거치의 구축시로 설정됩니다 (EnumSyntax(int) 를 참조). 생성자 이 보호되고 있으므로, 사용할 수 있는 열거치는 열거 클래스에서 선언된 단체 객체만입니다. 실행시에 새롭게 열거치를 작성할 수 없습니다.  

열거 클래스의 서브 클래스를 정의해, 추가의 열거치를 가지는 열거 클래스를 확장할 수 있습니다. 서브 클래스의 열거치의 정수치는, 슈퍼 클래스의 열거치의 정수치와 별개의 것일 필요는 없습니다. 서브 클래스가 슈퍼 클래스와 같은 정수치를 사용해도,==,! =,equals(), 및 toString() 메소드는 정상적으로 동작합니다. 다만, 열거 클래스와 서브 클래스가 사용되는 어플리케이션은, 슈퍼 클래스와 서브 클래스에서 다른 정수치를 가질 필요가 있습니다.  

관련 항목:
직렬화 된 형식

생성자 의 개요
protected EnumSyntax (int value)
          지정된 정수치를 가지는 새로운 열거치를 구축합니다.
 
메소드의 개요
 Object clone ()
          열거치의 복제를 돌려줍니다.
protected  EnumSyntax [] getEnumValueTable ()
          이 열거치의 열거 클래스의 열거치 테이블을 돌려줍니다.
protected  int getOffset ()
          이 열거치의 열거 클래스에서 사용되는 최소의 정수치를 돌려줍니다.
protected  String [] getStringTable ()
          이 열거치의 열거 클래스의 캐릭터 라인 테이블을 돌려줍니다.
 int getValue ()
          열거치의 정수치를 돌려줍니다.
 int hashCode ()
          이 열거치의 해시 코드값를 돌려줍니다.
protected  Object readResolve ()
          객체의 입력시에, 이 직렬화 복원된 열거 인스턴스를, 열거 속성 클래스에서 정의된 적절한 열거치로 변환합니다.
 String toString ()
          이 열거치에 대응하는 캐릭터 라인치를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

EnumSyntax

protected EnumSyntax(int value)
지정된 정수치를 가지는 새로운 열거치를 구축합니다.

파라미터:
value - 정수치
메소드의 상세

getValue

public int getValue()
열거치의 정수치를 돌려줍니다.

반환값:

clone

public Object  clone()
열거치의 복제를 돌려줍니다. 이것은, 열거치의 시멘틱스를 보호하기 위해서, 이 열거치와 같은 객체가 됩니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
이 인스턴스의 복제
관련 항목:
Cloneable

hashCode

public int hashCode()
이 열거치의 해시 코드값를 돌려줍니다. 해시 코드는 이 열거치의 정수치입니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 객체의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

toString

public String  toString()
이 열거치에 대응하는 캐릭터 라인치를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 객체의 캐릭터 라인 표현

readResolve

protected Object  readResolve()
                      throws ObjectStreamException 
객체의 입력시에, 이 직렬화 복원된 열거 인스턴스를, 열거 속성 클래스에서 정의된 적절한 열거치로 변환합니다.

반환값:
getEnumValueTable() 에 의해 반환된 열거치 테이블의 인덱스 i ~ L 에 포함된 열거의 단독치. 여기서, i 는 이 열거치의 정수치, L 는 getOffset() 에 의해 반환된 값
예외:
ObjectStreamException - 스트림이 직렬화 복원할 수 없는 경우
InvalidObjectException - 열거치의 테이블이 null 의 경우, 이 열거치의 정수치가 열거치의 테이블의 요소에 대응하지 않는 경우, 또는 열거치의 테이블의 대응하는 요소가 null 의 경우, throw 된다. 주:InvalidObjectException 는, readResolve() 가 throw가 선언되었다 ObjectStreamException 의 서브 클래스이다

getStringTable

protected String [] getStringTable()
이 열거치의 열거 클래스의 캐릭터 라인 테이블을 돌려줍니다. 열거 클래스의 정수치는 L ~ L+N-1 의 범위에 있는 것이라고 보여집니다. 여기서, L 는 getOffset() 에 의해 반환된 값, N 는 캐릭터 라인 테이블의 길이입니다. 인덱스 i ~ L 의 캐릭터 라인 테이블의 요소는, 정수치가 i 의 열거치에 대한 toString() 에 의해 반환된 값입니다. 상술의 범위의 정수치가 어느 열거치에서도 사용되지 않는 경우, 대응하는 테이블 요소는 null 대로 됩니다.  

디폴트의 구현에서는 null 를 돌려줍니다. 열거 클래스 (EnumSyntax 클래스의 서브 클래스)가 null 이외의 캐릭터 라인 테이블을 돌려주기 위해서(때문에) 이 메소드를 오버라이드(override) 하지 않는 경우에, 이 서브 클래스가 toString() 메소드를 오버라이드(override) 하지 않으면 base class toString() 메소드에 의해 이 열거치의 정수치의 캐릭터 라인 표현이 돌려주어집니다.

반환값:
캐릭터 라인 테이블

getEnumValueTable

protected EnumSyntax [] getEnumValueTable()
이 열거치의 열거 클래스의 열거치 테이블을 돌려줍니다. 열거 클래스의 정수치는 L ~ L+N-1 의 범위에 있는 것이라고 보여집니다. 여기서, L 는 getOffset() 에 의해 반환된 값, N 는 열거치 테이블의 길이입니다. 인덱스 i ~ L 의 열거치 테이블의 요소는, 정수치가 i 의 열거치 객체입니다. readResolve() 메소드는, 열거 인스턴스의 직렬화 복원시에 단독의 시멘틱스를 보호하기 위해서 이것이 필요하게 됩니다. 상술의 범위의 정수치가 어느 열거치에서도 사용되지 않는 경우, 대응하는 테이블 요소는 null 대로 됩니다.  

디폴트의 구현에서는 null 를 돌려줍니다. 열거 클래스 (EnumSyntax 클래스의 서브 클래스)가 null 이외의 열거치 테이블을 돌려주기 위해서(때문에) 이 메소드를 오버라이드(override) 하지 않는 경우에, 이 서브 클래스가 readResolve() 메소드를 오버라이드(override) 하지 않으면 base class readResolve() 메소드에 의해, 열거 인스턴스가 객체 입력 스트림로부터 직렬화 복원될 때 반드시 예외가 throw 됩니다.

반환값:
치 테이블

getOffset

protected int getOffset()
이 열거치의 열거 클래스에서 사용되는 최소의 정수치를 돌려줍니다.  

디폴트의 구현은 0 을 돌려줍니다. 열거 클래스 (EnumSyntax 클래스의 서브 클래스)가 0 이외로 시작되는 정수치를 사용하는 경우, 서브 클래스의 이 메소드를 오버라이드(override) 합니다.

반환값:
최소의 열거치의 오프셋(offset)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.