|
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,
그렇지 않은 경우는 falseObject.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 도 참조해 주세요.