|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.management.ImmutableDescriptor
public class ImmutableDescriptor
불변 기술자
필드의 개요 | |
---|---|
static ImmutableDescriptor |
EMPTY_DESCRIPTOR
빈 상태(empty)의 기술자 |
생성자 의 개요 | |
---|---|
ImmutableDescriptor (Map <String ,? > fields)
필드의 이름과 값이 지정한 Map 의 키와 값인 기술자를 구축합니다. |
|
ImmutableDescriptor (String ... fields)
지정된 필드를 포함한 기술자를 구축합니다. |
|
ImmutableDescriptor (String [] fieldNames,
Object [] fieldValues)
지정된 필드 및 값을 포함한 기술자를 구축합니다. |
메소드의 개요 | |
---|---|
Descriptor |
clone ()
이 기술자와 등가인 기술자를 돌려줍니다. |
boolean |
equals (Object o)
이 기술자와 지정된 객체를 비교합니다. |
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)
이 클래스는 불변이기 (위해)때문에, 이 조작은 지원되고 있지 않습니다. |
String |
toString ()
객체의 캐릭터 라인 표현을 돌려줍니다. |
static ImmutableDescriptor |
union (Descriptor ... descriptors)
내용이 지정한 기술자의 화집합인 ImmutableDescriptor 를 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
finalize , getClass , notify , notifyAll , wait , wait , wait |
필드의 상세 |
---|
public static final ImmutableDescriptor EMPTY_DESCRIPTOR
생성자 의 상세 |
---|
public ImmutableDescriptor(String [] fieldNames, Object [] fieldValues)
IllegalArgumentException
- 몇개의 배열이 null 의 경우,
배열의 사이즈가 다른 경우,
필드명이 null 또는 빈 상태(empty)의 경우, 또는 동일한 필드명이
여러 차례 출현하는 경우public ImmutableDescriptor(String ... fields)
fieldName=fieldValue
의 형식으로 할 필요가 있습니다. 필드명은, 최초의 =
문자까지입니다. 예를 들어, String 가 a=b=c
의 경우, 필드명은 a
로, 값은 b=c
입니다.
IllegalArgumentException
- 파라미터가 null 의 경우, 필드명이 빈 상태(empty)의 경우, 동일한 필드명이 여러 차례 출현하는 경우, 또는 캐릭터 라인중 한쪽이 =
문자를 포함하지 않은 경우. public ImmutableDescriptor(Map <String ,? > fields)
필드의 이름과 값이 지정한 Map 의 키와 값인 기술자를 구축합니다.
IllegalArgumentException
- 파라미터가 null 의 경우,
필드명이 null 또는 빈 상태(empty)의 경우, 또는 동일한 필드명이
여러 차례 출현하는 경우 (필드명의 대문자와 소문자가 구별되지 않는 경우에
발생하는 일이 있다)메소드의 상세 |
---|
public static ImmutableDescriptor union(Descriptor ... descriptors)
내용이 지정한 기술자의 화집합인 ImmutableDescriptor
를 돌려줍니다. 결과에는, 각 기술자내에 출현하는 전필드가, 메소드 호출 시점에서의 그 필드의 값과 함께 표시됩니다. 그 후, 기술자를 변경해도, 여기서 반환되는 ImmutableDescriptor 는 영향을 받지 않습니다.
무엇보다 단순한 케이스에서는, 기술자는 1 개만으로, 반환되는 ImmutableDescriptor
는 이 메소드의 호출시의 필드의 카피가 됩니다.
Descriptor d = something(); ImmutableDescriptor copy = ImmutableDescriptor.union(d);
descriptors
- 결합하는 기술자. 기술자중 한쪽이 null 인 경우,
그것은 스킵 된다
ImmutableDescriptor
. 입력 기술자중 한쪽이 필수 필드를 모두 포함한 ImmutableDescriptor 인 경우, 반환되는 객체는 그 기술자와 같게 될 가능성이 있다.
IllegalArgumentException
- 2 개의 기술자에게 동일한 필드명이 존재하지만,
각각 관련지을 수 있었던 값이 다른 경우. 프리미티브(primitive) 배열치는,
요소 및 형태가 같은 경우에,
동일이라고 보여진다. 객체 배열치는,Arrays.deepEquals(Object[], Object[])
가 true 를 돌려주는 경우에,
동일이라고 보여진다public final Object getFieldValue(String fieldName)
Descriptor
의 기술:
Descriptor
내의 getFieldValue
fieldName
- 필드명.
public final String [] getFields()
Descriptor
의 기술:
Descriptor
내의 getFields
Descriptor.setFields(java.lang.String[], java.lang.Object[])
public final Object [] getFieldValues(String ... fieldNames)
Descriptor
의 기술:fieldNames
String 배열 파라미터의 경우와 같게 됩니다.
Descriptor
내의 getFieldValues
fieldNames
- 치가 반환되는 필드의 이름으로 구성된다
캐릭터 라인 배열. 배열이 빈 상태(empty)의 경우,
빈 상태(empty)의 배열이 반환된다. 배열이 null 의 경우,
파라미터가 Descriptor.getFieldNames()
에 의해 반환된 배열인것 같이,
모든 값이 반환된다. 배열내의 필드명이 존재하지 않는 경우 (필드명이 null 또는 빈 상태(empty)의 캐릭터 라인인 경우를 포함한다), 반환되는 대응하는 배열 요소에 대해서 null 가 반환된다
fieldNames
의 리스트가
빈 상태(empty)의 경우, 빈 상태(empty)의 배열이 반환된다public final String [] getFieldNames()
Descriptor
의 기술:
Descriptor
내의 getFieldNames
public boolean equals(Object o)
Arrays.deepEquals(Object[], Object[])
가 true 를 돌려주지 않으면 안 된다. Object.equals(Object)
가 true 를 돌려주지 않으면 안 된다.
Descriptor
내의 equals
Object
내의 equals
o
- 비교 대상의 객체
true
,
그렇지 않은 경우는 false
Object.hashCode()
,
Hashtable
public int hashCode()
이 기술자의 해시 코드값를 돌려줍니다. 해시 코드는, 기술자내의 각 필드의 해시 코드의 합계가 됩니다. 이름이 n
로, 값이 v
의 필드의 해시 코드는,n.toLowerCase(). hashCode() ^ h
가 됩니다. 여기서,h
는 v
의 해시 코드입니다. 다음에 계산방법을 나타냅니다.
v
가 null 의 경우,h
는 0 이 된다. v
가 프리미티브(primitive) 배열의 경우,java.util.Arrays.hashCode
의 적절한 overload를 사용해 h
가 계산된다. v
가 객체 배열의 경우,Arrays.deepHashCode(Object[])
를 사용해 h
가 계산된다. h
는 v.hashCode()
가 된다.
Descriptor
내의 hashCode
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String toString()
Object
의 기술:toString
메소드는 이 객체를 「텍스트로 표현한다」캐릭터 라인을 돌려줍니다. 이 결과는, 인간이 읽을 수 있는 간결하고 유익한 정보여야 합니다. 모든 서브 클래스에서, 이 메소드를 오버라이드(override) 하는 것을 추천합니다.
Object
클래스의 toString
메소드는, 객체의 파생원의 클래스명, @ 부호 (@
), 및 객체의 해시 코드의 부호 없음 16 진표현으로부터 구성되는 캐릭터 라인을 돌려줍니다. 즉, 이 메소드는 다음의 값과 동일한 캐릭터 라인을 돌려줍니다.
getClass(). getName() + '@' + Integer.toHexString(hashCode())
Object
내의 toString
public boolean isValid()
Descriptor
내의 isValid
RuntimeOperationsException
- 타당성 검사에 실패했을 경우.
기술자가 무효의 경우, 이 메소드는 false 를 돌려주지만,
타당성을 판단하려고 실패하는 곳의 예외를 throw 한다public Descriptor clone()
이 기술자와 등가인 기술자를 돌려줍니다. 반환되는 기술자를 변경해도 이 기술자는 영향을 받지 않고, 이 기술자를 변경해도 반환되는 기술자는 영향을 받지 않습니다.
이 메소드는, 불려 가는 객체를 돌려줍니다. 규약을 채우는 경우는, 서브 클래스에서 이것을 오버라이드(override) 해 다른 객체를 돌려줄 수가 있습니다.
Descriptor
내의 clone
Object
내의 clone
RuntimeOperationsException
- 필드명 또는 필드치의 값이 부정한 경우.
하등의 이유로써 기술자의 작성에 실패했을 경우,
이 예외가 throw 되는Cloneable
public final void setFields(String [] fieldNames, Object [] fieldValues) throws RuntimeOperationsException
UnsupportedOperationException
를 랩 하는 RuntimeOperationsException
가 throw 됩니다. 그 이외의 경우, 가변 기술자의 경우와 같은 동작이 됩니다. 즉, 부정한 파라미터를 위해서(때문에) 예외가 throw 되는지, 아무것도 실행되지 않는가의 어딘가에 됩니다.
Descriptor
내의 setFields
fieldNames
- 필드명의 캐릭터 라인 배열. 배열 및 배열 요소는,
null 에는 할 수 없는fieldValues
- 대응하는 필드치로부터 완성되는 객체 배열.
배열은 null 이외. 배열 요소는 null 의 경우도 있다
RuntimeOperationsException
- 하등의 이유로써 변경이 실패했을 경우.
fieldNames
또는 fieldValues
가 null 의 경우,
배열의 길이가 다른 경우,
또는, 그러한 어느 쪽인가에 부정한 값이 존재하는 경우에,
랩 된 예외는 IllegalArgumentException
가 된다.
기술자가 불변으로, 호출에 의해 그 내용이 변경되는 경우, 랩 된 예외는 UnsupportedOperationException
가 된다. Descriptor.getFields()
public final void setField(String fieldName, Object fieldValue) throws RuntimeOperationsException
UnsupportedOperationException
를 랩 하는 RuntimeOperationsException
가 throw 됩니다. 그 이외의 경우, 가변 기술자의 경우와 같은 동작이 됩니다. 즉, 부정한 파라미터를 위해서(때문에) 예외가 throw 되는지, 아무것도 실행되지 않는가의 어딘가에 됩니다.
Descriptor
내의 setField
fieldName
- 설정되는 필드명. null 나 공문자열은 사용할 수 없는fieldValue
- 필드명으로서 설정된다
치. null 가 필드에서 유효한 값이면, null 도 사용할 수 있다
RuntimeOperationsException
- 필드명 또는 필드치가 부정한 경우 (랩 된 예외는 IllegalArgumentException
), 또는 기술자가 불변인 경우 (랩 된 예외는 UnsupportedOperationException
). public final void removeField(String fieldName)
Descriptor
내의 removeField
fieldName
- 삭제되는 필드의 캐릭터 라인명.
필드명이 부정한가, 필드가 발견되지 않는 경우,
예외는 throw 되지 않는다
RuntimeOperationsException
- 지정한 이름의 필드가 존재해,
기술자가 불변의 경우. 랩 된 예외는,
UnsupportedOperationException
가 된다
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.