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、クラス: Objectobj - 比較対象のオブジェクト。objが等しい場合はtrue。Object.hashCode()、HashMappublic abstract int hashCode()
ObjectHashMapによって提供されるハッシュ・テーブルなどの、ハッシュ・テーブルの利点のためにサポートされています。
hashCodeの一般的な規則は次のとおりです。
equalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
equals(Object)メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって同じ整数の結果が生成される必要があります。
Object.equals(java.lang.Object)メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって異なる整数の結果が生成される必要はありません。ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ・テーブルのパフォーマンスが向上する可能性があることに注意するようにしてください。
クラスObjectによって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックはJava™プログラミング言語では必要ありません。)
hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.