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 メソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックは JavaTM プログラミング言語では必要ありません。)
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.