JavaTM Platform
Standard Ed. 6

javax.management
인터페이스 Descriptor

모든 슈퍼 인터페이스:
Cloneable , Serializable
기존의 구현 클래스의 일람:
DescriptorSupport , ImmutableDescriptor


public interface Descriptor
extends Serializable , Cloneable

JMX 요소의 추가 메타데이타. Descriptor 는,MBeanInfoMBeanAttributeInfo 등과 관련지을 수 있습니다. 이것은 복수의 필드로 구성됩니다. 필드란, 이름 및 관련하는 값입니다.

필드명에서는, 대문자와 소문자는 구별되지 않습니다. 이름 descriptorType,descriptortype, 및 DESCRIPTORTYPE 은 모두 동일해집니다. 다만, 필드의 첫회 설정시에 사용한 대문자와 소문자가,getFields()getFieldNames() 메소드의 결과에 보존됩니다.

모든 필드명과 값이, 사전에 정의되고 있는 것은 아닙니다. 임의의 프로그램으로 새로운 필드를 정의해, 추가할 수가 있습니다.

기술자는, 가변에서도 불변에서도 괜찮습니다. 불변 기술자는, 일단 작성되면(자) 결코 변경되지 않습니다. 기술자의 내용을 변경할 수 있는 Descriptor 메소드는, 불변 기술자에 대해서 예외를 throw 합니다. 일반적으로, 불변 기술자는 ImmutableDescriptor 또는 서브 클래스의 인스턴스입니다. 가변 기술자는, 일반적으로,DescriptorSupport 또는 서브 클래스의 인스턴스입니다.

일부의 필드는, JMX 구현에 의해 사용됩니다. 이것은, 그 필드가 존재하는 것으로 JMX API 의 동작이 변경 가능한가, 그 필드를 JMX API 가 돌려주는 기술자로 설정 가능한 것을 의미합니다. 다음에 나타내는 표에서는, 이러한 필드는 이탤릭으로 나타납니다. JMX 클래스내에는, 각 필드에 대응하는 정수가 존재합니다. 예를 들어, 필드 defaultValue 는 정수 JMX.DEFAULT_VALUE_FIELD 로 나타내집니다.

다음의 겉(표)에 나타내도록(듯이), 그 외의 일부의 필드에는 일반적인 의미가 있습니다. 다만, 이것들을 이해하거나 JMX 구현으로 설정하거나 할 필요는 없습니다.

현재 및 장래의 버젼에서는, JMX 스펙으로 정의된 필드명에 피리어드 (. )(이)가 포함될 것은 없습니다. 이름에 피리어드를 포함하는 것으로, 사용자는 독자적인 필드를 안전하게 작성할 수 있어 작성한 이름이 JMX API 의 장래의 버젼으로 충돌하는 일도 없습니다. 작성원이 다른 필드명 끼리가 충돌하는 것을 피하기 (위해)때문에, Java 패키지의 명명 규칙에 따르는 것을 추천합니다. 예를 들어,example.com 에 의해 작성된 필드에,com.example.interestLevel 라는 이름을 붙일 수가 있습니다.

defaultValue,legalValues,maxValue, 및 minValue 필드의 값이, 관련하는 MBeanAttributeInfo 또는 MBeanParameterInfogetType() 메소드에 의해 반환되는 형태와 일치하도록 해 주세요. MXBeans 의 경우, 이것은,MXBean 형 매핑 룰opendata(J)로 불리는, 맵 된 Java 형으로 하는 것을 의미합니다.

이름사용하는 장소의미
defaultValue 객체 MBeanAttributeInfo
MBeanParameterInfo
속성 또는 파라미터의 디폴트 값. javax.management.openmbean 를 참조해 주세요.
deprecatedStringAny 정보 모델의 이 요소는, 사용이 추천 되지 않게 된 것을 나타냅니다. 어플리케이션에 의해 정의된 MBeans 세트는, 정리해 「정보 모델」이라고 불립니다. 규칙에서는, 이 필드치의 캐릭터 라인에는, 요소가 최초로 비추천이 된 모델의 버젼, 공백, 비추천의 설명이 이 순서로 포함할 수 있습니다. 예를 들어,"1.3 Capacity 속성을 사용" 이 됩니다.
descriptionResource
BundleBaseName
StringAny descriptionResourceKey 필드로 지정된 키가 있는 ResourceBundle 의 베이스명. 예를 들어,"com.example.myapp.MBeanResources" 가 됩니다. 이 지정에 의해 필드의 의미가 정의됩니다만, 이 필드가 JMX API 자체에 의해 설정 또는 사용될 것은 없습니다.
descriptionResourceKeyStringAny 이 요소의 설명에 대한 자원 키. 이것을 descriptionResourceBundleBaseName 와 함께 사용하면(자), 로컬라이즈 된 설명을 검출할 수 있습니다. 이 지정에 의해 필드의 의미가 정의됩니다만, 이 필드가 JMX API 자체에 의해 설정 또는 사용될 것은 없습니다.
enabledString MBeanAttributeInfo
MBeanNotificationInfo
MBeanOperationInfo
이 항목이 사용 가능한지 어떤지에 의해, 캐릭터 라인 "true" 또는 "false" 가 됩니다. 속성 또는 오퍼레이션이 사용 가능하지 않은 경우는, 존재하고 있어도, 현시점에서는 액세스 할 수 없습니다. 사용자 인터페이스에 따라서는, 이것이 엷은 색의 항목으로 표시되는 경우가 있습니다. 예를 들어, 속성이 의미를 가지는 것이, MBean 의 start() 메소드가 불려 간 뒤만으로, 그 이외에서는 속성을 사용할 수 없는 것이 있습니다. 같이 통지가 현시점에서 발행할 수 없는 경우는 통지가 사용 가능하지 않을 가능성이 있습니다만, 다른 상황하에서는 발행할 수 있을 가능성이 있습니다.
immutableInfo String MBeanInfo MBean 의 MBeanInfo 가 「불변」일지 어떨지에 의해, 캐릭터 라인 "true" 또는 "false" 가 됩니다. 이 필드가 true 의 경우, 지정한 MBean 의 MBeanInfo 는, MBean 의 유효기간중은 변경되지 않는 것이 보증됩니다. 이 때문에, 클라이언트는 한 번 읽어내, 그 값을 캐쉬할 수 있습니다. 이 필드가 false 또는 빈 상태(empty)의 경우, MBeanInfo 가 반드시 변경되는 것은 아닙니다만, 변경되지 않는다고 하는 보증은 없습니다.
infoTimeoutString
Long
MBeanInfo MBeanInfo 가 변경되지 않는다고 예상할 수 있는 타당한 시간 (밀리 세컨드 단위). 값에는,Long 또는 10 진수의 캐릭터 라인을 사용할 수 있습니다. 이것에 의해, DynamicMBean 또는 immutableInfotrue 로서 정의하지 않는 임의의 MBean 로부터, 이 기간내에는 MBeanInfo 가 변경되지 않을 가능성이 높기 때문에 캐쉬 가능하다라고 말하는 힌트가 주어집니다. 이 필드가 발견되지 않는가 값이 제로의 경우는,immutableInfotrue 로 설정되지 않는 한, MBeanInfo 를 캐쉬하는 것은 추천 되지 않습니다.
interfaceClassName StringMBeanInfo Class.getName() 에 의해 반환되는, Standard MBean 또는 MXBean 의 Java 인터페이스명. Standard MBean, 또는 MBean Server 에 직접 등록될까 StandardMBean 클래스를 사용해 작성된 MXBean 에는, MBeanInfo Descriptor 내에 이 필드가 있습니다.
legalValues Set<? >MBeanAttributeInfo
MBeanParameterInfo
속성 또는 파라미터의 유효한 값. javax.management.openmbean 를 참조해 주세요.
maxValue 객체 MBeanAttributeInfo
MBeanParameterInfo
속성 또는 파라미터의 유효한 최대치. javax.management.openmbean 를 참조해 주세요.
metricType String MBeanAttributeInfo
MBeanOperationInfo
시학의 타입. 캐릭터 라인 "counter" 와 "gauge"의 어느 쪽인가에 됩니다. 시학은, MBean 에 의해 export 되는 계측입니다. 일반적으로은 속성입니다만, 오퍼레이션의 결과인 경우도 있습니다. 「카운터」인 시학의 값은, 개시치에 리셋 하지 않는 한, 결코 감소하는 일이 없습니다. 카운타메트릭스는, 대부분의 경우, 부가 아닌 정수가 됩니다. 예를 들어, 수신한 요구의 수가 이것에 해당합니다. 「게이지」인 시학은, 증가 또는 감소 가능한 수치가 됩니다. 예를 들어, 열려 있는 접속의 수, 캐쉬 히트율, 읽어낸 온도가 이것에 해당합니다.
minValue 객체 MBeanAttributeInfo
MBeanParameterInfo
속성 또는 파라미터의 유효한 최소치. javax.management.openmbean 를 참조해 주세요.
mxbean String MBeanInfo 이 MBean 가 MXBean 일지 어떨지에 의해, 캐릭터 라인 "true" 또는 "false" 가 됩니다. Standard MBean, 또는 MBean Server 에 직접 등록될까 StandardMBean 클래스를 사용해 작성된 MXBean 는, MBeanInfo Descriptor 내에 이 필드를 보관 유지합니다.
openType OpenType MBeanAttributeInfo
MBeanOperationInfo
MBeanParameterInfo

이 요소의 Open Type. MBeanAttributeInfoMBeanParameterInfo 의 경우, 이것은 속성 또는 파라미터의 Open Type 입니다. MBeanOperationInfo 의 경우, 이것은 반환값의 Open Type 입니다. 이 필드는,OpenMBeanAttributeInfoSupport ,OpenMBeanOperationInfoSupport , 및 OpenMBeanParameterInfoSupport 의 모든 인스턴스의 Descriptor 로 설정됩니다. 이것은, MXBeans 의 속성, 오퍼레이션, 및 파라미터에 대해서도 설정됩니다.

이 필드는,MBeanNotificationInfo 에 대해서 설정할 수 있습니다. 이 경우,사용자 데이터 의 Open Type 를 나타냅니다.

originalType String MBeanAttributeInfo
MBeanOperationInfo
MBeanParameterInfo

MBeanAttributeInfo 를 생성한 MXBean 인터페이스 메소드에 표시되는, 이 요소의 원의 Java 형. 예를 들어, MXBean 인터페이스내의 메소드
public MemoryUsage getHeapMemoryUsage();
(은)는,CompositeData 형의 HeapMemoryUsage 라고 하는 속성을 정의합니다. 이 속성의 Descriptor 내의 originalType 필드의 값은 "java.lang.management.MemoryUsage" 가 됩니다.

이 캐릭터 라인의 서식에 대해서는, MXBean 스펙의「형명」섹션을 참조해 주세요.

severityString
Integer
MBeanNotificationInfo 이 통지의 중요도. 값 0 은 중대도 불명을 의미합니다. 값 1 ~ 6 은, 값이 커지는에 따라 중요도가 저하합니다. 이것은, 10 진수 캐릭터 라인 또는 Integer 로 나타낼 수가 있습니다.
sinceStringAny 이 요소가 도입된 정보 모델의 버젼. 어플리케이션에 의해 정의된 MBeans 세트는, 정리해 「정보 모델」이라고 불립니다. 어플리케이션은, 이 모델의 버젼을 정의해,"since" 필드를 사용해 요소가 최초로 출현한 버젼을 기록할 수도 있습니다.
unitsString MBeanAttributeInfo
MBeanParameterInfo
MBeanOperationInfo
속성, 파라미터, 또는 오퍼레이션 반환값의 측정 단위 ("bytes","seconds" 등).

Model MBeans 에 의해, 추가 필드가 몇개인가 정의됩니다. ModelMBeanInfo 나 관련하는 클래스, 및 「JMX 스펙」의 「Model MBeans」의 장을 참조해 주세요.

도입된 버젼:
1.5

메소드의 개요
 Object clone ()
          이 기술자와 등가인 기술자를 돌려줍니다.
 boolean equals (Object  obj)
          이 기술자와 지정된 객체를 비교합니다.
 String [] getFieldNames ()
          기술자내의 모든 필드명을 돌려줍니다.
 String [] getFields ()
          이 기술자에게 포함되는 모든 필드를 단일의 캐릭터 라인 배열로서 돌려줍니다.
 Object getFieldValue (String  fieldName)
          특정의 필드명의 값을 돌려줍니다.
 Object [] getFieldValues (String ... fieldNames)
          기술자내의 모든 필드의 값을 Object 의 배열로서 돌려줍니다.
 int hashCode ()
          이 기술자의 해시 코드값를 돌려줍니다.
 boolean isValid ()
          모든 필드에 이름이 부여되고 있어 값이 유효한 경우, true 를 돌려줍니다.
 void removeField (String  fieldName)
          기술자로부터 필드를 삭제합니다.
 void setField (String  fieldName, Object  fieldValue)
          특정의 필드명을 나타내는 값을 설정합니다.
 void setFields (String [] fieldNames, Object [] fieldValues)
          필드명 배열내의 모든 필드를 새로운 값으로 설정해, 필드치 배열에 같은 인덱스를 설정합니다.
 

메소드의 상세

getFieldValue

Object  getFieldValue(String  fieldName)
                     throws RuntimeOperationsException 
특정의 필드명의 값을 돌려줍니다. 그 이름의 값이 존재하지 않는 경우는 null 를 돌려줍니다.

파라미터:
fieldName - 필드명.
반환값:
대응하는 값. 그 필드가 존재하지 않는 경우는 null
예외:
RuntimeOperationsException - 필드명이 부정한 경우

setField

void setField(String  fieldName,
              Object  fieldValue)
              throws RuntimeOperationsException 

특정의 필드명을 나타내는 값을 설정합니다. 이 조작에 의해, 기존의 필드가 변경되거나 새로운 필드가 추가 되거나 합니다.

필드치는, 검증되고 나서 설정됩니다. 무효인 값의 경우는 예외가 throw 됩니다. 타당성의 의미는, 기술자의 구현에 따라서 다릅니다.

파라미터:
fieldName - 설정되는 필드명. null 나 공문자열은 사용할 수 없는
fieldValue - 필드명으로서 설정된다 치. null 가 필드에서 유효한 값이면, null 도 사용할 수 있다
예외:
RuntimeOperationsException - 필드명 또는 필드치가 부정한 경우 (랩 된 예외는 IllegalArgumentException ), 또는 기술자가 불변인 경우 (랩 된 예외는 UnsupportedOperationException ).

getFields

String [] getFields()
이 기술자에게 포함되는 모든 필드를 단일의 캐릭터 라인 배열로서 돌려줍니다.

반환값:
fieldName=fieldValue 의 형식의 필드의 캐릭터 라인 배열
필드의 값이 String 가 아닌 경우, toString() 메소드가 불려 가 반환값이 괄호로 둘러싸여 반환되는 배열내의 필드의 값으로 해서 사용된다. 필드의 값이 null 의 경우, 반환되는 배열내의 필드의 값은 비운다. 기술자가 빈 상태(empty)의 경우, 빈 상태(empty)의 배열이 반환되는
관련 항목:
setFields(java.lang.String[], java.lang.Object[])

getFieldNames

String [] getFieldNames()
기술자내의 모든 필드명을 돌려줍니다.

반환값:
필드명의 캐릭터 라인 배열. 기술자가 빈 상태(empty)의 경우 빈 상태(empty)의 배열이 반환된다

getFieldValues

Object [] getFieldValues(String ... fieldNames)
기술자내의 모든 필드의 값을 Object 의 배열로서 돌려줍니다. 반환되는 값의 차례는,fieldNames String 배열 파라미터의 경우와 같게 됩니다.

파라미터:
fieldNames - 치가 반환되는 필드의 이름으로 구성된다 캐릭터 라인 배열. 배열이 빈 상태(empty)의 경우, 빈 상태(empty)의 배열이 반환된다. 배열이 null 의 경우, 파라미터가 getFieldNames() 에 의해 반환된 배열인것 같이, 모든 값이 반환된다. 배열내의 필드명이 존재하지 않는 경우 (필드명이 null 또는 빈 상태(empty)의 캐릭터 라인인 경우를 포함한다), 반환되는 대응하는 배열 요소에 대해서 null 가 반환된다
반환값:
필드치로부터 완성되는 객체 배열. fieldNames 의 리스트가 빈 상태(empty)의 경우, 빈 상태(empty)의 배열이 반환된다

removeField

void removeField(String  fieldName)
기술자로부터 필드를 삭제합니다.

파라미터:
fieldName - 삭제되는 필드의 캐릭터 라인명. 필드명이 부정한가, 필드가 발견되지 않는 경우, 예외는 throw 되지 않는다
예외:
RuntimeOperationsException - 지정한 이름의 필드가 존재해, 기술자가 불변의 경우. 랩 된 예외는, UnsupportedOperationException 가 된다

setFields

void setFields(String [] fieldNames,
               Object [] fieldValues)
               throws RuntimeOperationsException 

필드명 배열내의 모든 필드를 새로운 값으로 설정해, 필드치 배열에 같은 인덱스를 설정합니다. 배열 사이즈는 일치하고 있을 필요가 있습니다.

필드치는, 검증되고 나서 설정됩니다. 무효인 값의 경우는 예외가 throw 됩니다. 배열이 빈 상태(empty)의 경우, 변경 내용은 적용되지 않습니다.

파라미터:
fieldNames - 필드명의 캐릭터 라인 배열. 배열 및 배열 요소는, null 에는 할 수 없는
fieldValues - 대응하는 필드치로부터 완성되는 객체 배열. 배열은 null 이외. 배열 요소는 null 의 경우도 있다
예외:
RuntimeOperationsException - 하등의 이유로써 변경이 실패했을 경우. fieldNames 또는 fieldValues 가 null 의 경우, 배열의 길이가 다른 경우, 또는, 그러한 어느 쪽인가에 부정한 값이 존재하는 경우에, 랩 된 예외는 IllegalArgumentException 가 된다. 기술자가 불변으로, 호출에 의해 그 내용이 변경되는 경우, 랩 된 예외는 UnsupportedOperationException 가 된다.
관련 항목:
getFields()

clone

Object  clone()
             throws RuntimeOperationsException 

이 기술자와 등가인 기술자를 돌려줍니다. 반환되는 기술자를 변경해도 이 기술자는 영향을 받지 않고, 이 기술자를 변경해도 반환되는 기술자는 영향을 받지 않습니다. 이 기술자가 불변의 경우는, 자신을 돌려주는 것으로 이 조건을 채울 수가 있습니다.

반환값:
이 기술자와 동등의 기술자
예외:
RuntimeOperationsException - 필드명 또는 필드치의 값이 부정한 경우. 하등의 이유로써 기술자의 작성에 실패했을 경우, 이 예외가 throw 된다

isValid

boolean isValid()
                throws RuntimeOperationsException 
모든 필드에 이름이 부여되고 있어 값이 유효한 경우, true 를 돌려줍니다.

반환값:
치가 유효한 경우는 true
예외:
RuntimeOperationsException - 하등의 이유로써 타당성 검사에 실패했을 경우, 이 예외가 throw 된다. 기술자가 무효의 경우, 이 메소드는 false 를 돌려주지만, 타당성을 판단하려고 실패하는 곳의 예외를 throw 한다

equals

boolean equals(Object  obj)
이 기술자와 지정된 객체를 비교합니다. 지정된 객체도 Descriptor 이며, 2 개의 기술자의 필드명이 동일해 (대문자와 소문자가 다를 가능성이 있다), 관련지을 수 있었던 값이 같은 경우, 오제크트는 등가입니다. 다음의 조건을 채우는 경우, 2 개의 Descriptor 내의 필드의 각각의 값이 동일해집니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 객체
반환값:
객체가 동일한 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.6
관련 항목:
Object.hashCode() , Hashtable

hashCode

int hashCode()

이 기술자의 해시 코드값를 돌려줍니다. 해시 코드는, 기술자내의 각 필드의 해시 코드의 합계가 됩니다. 이름이 n 로, 값이 v 의 필드의 해시 코드는,n.toLowerCase(). hashCode() ^ h 가 됩니다. 여기서,hv 의 해시 코드입니다. 계산방법은 다음과 같습니다.

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

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 도 참조해 주세요.