T
- この型で記述されたインスタンスが保持する必要のあるJava型。たとえば、SimpleType.INTEGER
は、OpenType<Integer>
のサブクラスであるSimpleType<Integer>
で、これはSimpleType.INTEGER
として記述された属性、パラメータ、または戻り値がJava型Integer
を持つ必要があることを意味する。public abstract class OpenType<T> extends Object implements Serializable
OpenType
クラスは、実際の公開データ値の公開型を記述するすべてのクラスの親abstractクラスです。
公開型は次の項目によって定義されます。
ALLOWED_CLASSNAMES_LIST
を参照)修飾子と型 | フィールドと説明 |
---|---|
static String[] |
ALLOWED_CLASSNAMES
非推奨。
代わりに
ALLOWED_CLASSNAMES_LIST を使用します。 |
static List<String> |
ALLOWED_CLASSNAMES_LIST
公開データ値に許可される完全修飾Javaクラス名のリストです。
|
修飾子 | コンストラクタと説明 |
---|---|
protected |
OpenType(String className, String typeName, String description)
OpenType インスタンスを構築し(OpenType となるサブクラスのインスタンスは実際にはabstractクラス)、指定されたパラメータの妥当性を検査します。 |
修飾子と型 | メソッドと説明 |
---|---|
abstract boolean |
equals(Object obj)
指定された
obj パラメータとこの公開型インスタンスが等しいかどうかを比較します。 |
String |
getClassName()
この公開型が記述する公開データ値の完全修飾Javaクラス名を返します。
|
String |
getDescription()
この
OpenType インスタンスを記述するテキスト文字列を返します。 |
String |
getTypeName()
この
OpenType インスタンスの名前を返します。 |
abstract int |
hashCode()
オブジェクトのハッシュ・コード値を返します。
|
boolean |
isArray()
この公開型が記述する公開データ値が配列の場合は
true を返し、そうでない場合はfalse を返します。 |
abstract boolean |
isValue(Object obj)
objが、この公開型の値であるかどうかをテストします。
|
abstract String |
toString()
この公開型インスタンスの文字列表現を返します。
|
public static final List<String> ALLOWED_CLASSNAMES_LIST
ALLOWED_CLASSNAMES_LIST = { "java.lang.Void", "java.lang.Boolean", "java.lang.Character", "java.lang.Byte", "java.lang.Short", "java.lang.Integer", "java.lang.Long", "java.lang.Float", "java.lang.Double", "java.lang.String", "java.math.BigDecimal", "java.math.BigInteger", "java.util.Date", "javax.management.ObjectName", CompositeData.class.getName(), TabularData.class.getName() } ;
@Deprecated public static final String[] ALLOWED_CLASSNAMES
ALLOWED_CLASSNAMES_LIST
を使用します。protected OpenType(String className, String typeName, String description) throws OpenDataException
OpenType
インスタンスを構築し(OpenType
となるサブクラスのインスタンスは実際にはabstractクラス)、指定されたパラメータの妥当性を検査します。各パラメータの妥当性の制約は、次に説明します。className
- この公開型が記述する公開データ値の完全修飾Javaクラス名。公開データ値に許可された有効なJavaクラス名は、ALLOWED_CLASSNAMES_LIST
に一覧されている。これらのいずれかのクラスまたは対応するプリミティブ型の多次元配列も許可クラスになる。この場合、クラス名はjava.lang.Class
のgetName()
メソッドで定義されたルールに従う。たとえば、3次元のString配列はクラス名"[[[Ljava.lang.String;
" (引用符なし)を持つ。typeName
- このインスタンスが示す公開型に付与する名前。nullまたは空文字列は使用できない。description
- このインスタンスが示す公開型についての人間が読める形式の説明。IllegalArgumentException
- className、typeName、またはdescriptionがnullまたは空文字列の場合OpenDataException
- classNameが公開データに許可されたJavaクラス名でない場合public String getClassName()
ALLOWED_CLASSNAMES_LIST
に一覧されます。これらのいずれかのクラスまたは対応するプリミティブ型の多次元配列も許可クラスになる。この場合、クラス名はjava.lang.Class
のgetName()
メソッドで定義されたルールに従う。たとえば、3次元のString配列はクラス名"[[[Ljava.lang.String;
" (引用符なし)を持ち、3次元のInteger配列はクラス名"[[[Ljava.lang.Integer;
" (引用符なし)を持ち、3次元のint配列はクラス名"[[[I
" (引用符なし)を持ちます。public String getTypeName()
OpenType
インスタンスの名前を返します。public String getDescription()
OpenType
インスタンスを記述するテキスト文字列を返します。public boolean isArray()
true
を返し、そうでない場合はfalse
を返します。public abstract boolean isValue(Object obj)
obj
- 妥当性を判定されるオブジェクト。true
、そうでない場合はfalse
。public abstract boolean equals(Object obj)
obj
パラメータとこの公開型インスタンスが等しいかどうかを比較します。equals
、クラス: Object
obj
- 比較対象のオブジェクト。obj
が等しい場合はtrue。Object.hashCode()
、HashMap
public abstract int hashCode()
Object
HashMap
によって提供されるハッシュ・テーブルなどの、ハッシュ・テーブルの利点のためにサポートされています。
hashCode
の一般的な規則は次のとおりです。
equals
の比較で使用される情報が変更されていなければ、hashCode
メソッドは常に同じ整数を返す必要があります。ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
equals(Object)
メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対するhashCode
メソッドの呼出しによって同じ整数の結果が生成される必要があります。
Object.equals(java.lang.Object)
メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対するhashCode
メソッドの呼出しによって異なる整数の結果が生成される必要はありません。ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ・テーブルのパフォーマンスが向上する可能性があることに注意するようにしてください。
クラスObject
によって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックはJava™プログラミング言語では必要ありません。)
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.