org.ashikunep.irenka.toolkit
インタフェース TypeConversions

すべてのスーパーインタフェース:
Tool

public interface TypeConversions
extends Tool

型の関係や変換に関する処理を行う。 Java Language Specification 3nd. Section 4 and Section 5.

バージョン:
$Date: 2008-02-12 12:35:47 +0900 (火, 12 2月 2008) $
作成者:
Suguru ARAKAWA (Gluegent, Inc.)

メソッドの概要
 CtType<?> binaryNumericPromotion(CtType<?> leftType, CtType<?> rightType)
          二項の数値格上げを行う。
 TypeConversions borrow()
          このツールを借りる。
<T> CtClass<T>
boxing(CtType<T> type)
          この型にボクシング変換を適用した型を返す。
 CtType<?> capture(CtType<?> type, CtType<?> context)
          a -> bの取得変換(捕捉変換)が可能である場合にのみtrueを返す。
 boolean contains(CtType<?> a, CtType<?> b)
          b <= aが成り立つ場合にのみtrueを返す。
 CtType<?> erasure(CtType<?> type)
          この型のイレイジャを返す。
 CtType<?> greatestLowerBound(Collection<? extends CtType<?>> bounds)
          指定された境界の最大の下界を返す。
 CtDeclaredType<?> invocation(CtDeclaredType<?> source, CtDeclaredType<?> superType)
          superTypeと同じ宣言を持つsourceのスーパータイプのうち、型を消去していない状態のものを返す。
 boolean isAssignmentConvertable(CtType<?> a, CtType<?> b)
          a -> bの代入変換が可能である場合にのみtrueを返す。
 boolean isBoxingConvertable(CtType<?> a, CtType<?> b)
          a -> bのボクシング変換が可能である場合にのみtrueを返す。
 boolean isCaptureConvertable(CtType<?> a, CtType<?> b)
          a -> bの取得変換(捕捉変換)が可能である場合にのみtrueを返す。
 boolean isIdentityConvertable(CtType<?> a, CtType<?> b)
          a = bの恒等変換が可能である場合にのみtrueを返す。
 boolean isNarrowingPrimitiveConvertable(CtType<?> a, CtType<?> b)
          a -> bのプリミティブ型ナローイング変換が可能である場合にのみtrueを返す。
 boolean isRaw(CtType<?> type)
          この型が未加工型、または非総称化型である場合にのみtrueを返す。
 boolean isReifiable(CtType<?> type)
          この型が具象化可能型である場合にのみtrueを返す。
 boolean isStringConvertable(CtType<?> type)
          type -> java.lang.Stringの文字列変換が可能である場合にのみtrueを返す。
 boolean isSubtype(CtType<?> a, CtType<?> b)
          a < bが成り立つ場合にのみtrueを返す。
 boolean isUnboxingConvertable(CtType<?> a, CtType<?> b)
          a -> bのアンボクシング変換が可能である場合にのみtrueを返す。
 boolean isUncheckedConvertable(CtType<?> a, CtType<?> b)
          a -> bの未チェック変換が可能である場合にのみtrueを返す。
 boolean isWideningAndNarrowingPrimitiveConvertable(CtType<?> a, CtType<?> b)
          a -> bのプリミティブ型ナローイング変換とワイドニング変換を組み合わせた変換が可能である場合にのみtrueを返す。
 boolean isWideningPrimitiveConvertable(CtType<?> a, CtType<?> b)
          a -> bのプリミティブ型ワイドニング変換が可能である場合にのみtrueを返す。
 boolean isWideningReferenceConvertable(CtType<?> a, CtType<?> b)
          a -> bの参照型ワイドニング変換が可能である場合にのみtrueを返す。
 CtType<?> leastUpperBound(Collection<? extends CtType<?>> bounds)
          指定された境界の最小の上界を返す。
 CtDeclaredType<?> raw(CtDeclaredType<?> type)
          この型の未加工型を返す。
 CtType<?> unaryNumericPromotion(CtType<?> type)
          単項の数値格上げを行う。
<T> CtType<T>
unboxing(CtType<T> type)
          この型にアンボクシング変換を適用した型を返す。
 

メソッドの詳細

contains

boolean contains(CtType<?> a,
                 CtType<?> b)
b <= aが成り立つ場合にのみtrueを返す。 4.5.1.1 Type Argument Containment and Equivalence.

パラメータ:
a - 包括するべき型
b - 包括されるべき型
戻り値:
a <= bが成り立つ場合にのみtrue

isReifiable

boolean isReifiable(CtType<?> type)
この型が具象化可能型である場合にのみtrueを返す。 4.7 Reifiable Types

パラメータ:
type - 対象の型
戻り値:
具象化可能型である場合にのみtrue

isRaw

boolean isRaw(CtType<?> type)
この型が未加工型、または非総称化型である場合にのみtrueを返す。 4.8 Raw Types

パラメータ:
type - 対象の型
戻り値:
未加工型である場合にのみtrue

isSubtype

boolean isSubtype(CtType<?> a,
                  CtType<?> b)
a < bが成り立つ場合にのみtrueを返す。 直接のサブタイプは次のように定義される。 4.10 Subtyping.

パラメータ:
a - サブタイプ
b - 親タイプ
戻り値:
a < bが成り立つ場合にのみtrue

isIdentityConvertable

boolean isIdentityConvertable(CtType<?> a,
                              CtType<?> b)
a = bの恒等変換が可能である場合にのみtrueを返す。 つまり、aとbが完全に同じ型である場合にのみtrueを返す。 5.1.1 Identity Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isWideningPrimitiveConvertable

boolean isWideningPrimitiveConvertable(CtType<?> a,
                                       CtType<?> b)
a -> bのプリミティブ型ワイドニング変換が可能である場合にのみtrueを返す。 次の19種類に限られる。 5.1.2 Widening Primitive Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isNarrowingPrimitiveConvertable

boolean isNarrowingPrimitiveConvertable(CtType<?> a,
                                        CtType<?> b)
a -> bのプリミティブ型ナローイング変換が可能である場合にのみtrueを返す。 次の22種類に限られる。 5.1.3 Narrowing Primitive Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isWideningAndNarrowingPrimitiveConvertable

boolean isWideningAndNarrowingPrimitiveConvertable(CtType<?> a,
                                                   CtType<?> b)
a -> bのプリミティブ型ナローイング変換とワイドニング変換を組み合わせた変換が可能である場合にのみtrueを返す。 次のものに限られる。 この変換は、byte -(widening)> int -(narrowing)> char という過程で行われる。 5.1.4 Widening and Narrowing Primitive Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isWideningReferenceConvertable

boolean isWideningReferenceConvertable(CtType<?> a,
                                       CtType<?> b)
a -> bの参照型ワイドニング変換が可能である場合にのみtrueを返す。 baのサブタイプ(isSubtype(CtType, CtType))であれば変換可能である。 5.1.5 Widening Reference Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isBoxingConvertable

boolean isBoxingConvertable(CtType<?> a,
                            CtType<?> b)
a -> bのボクシング変換が可能である場合にのみtrueを返す。 5.1.7 Boxing Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isUnboxingConvertable

boolean isUnboxingConvertable(CtType<?> a,
                              CtType<?> b)
a -> bのアンボクシング変換が可能である場合にのみtrueを返す。 5.1.8 Unboxing Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isUncheckedConvertable

boolean isUncheckedConvertable(CtType<?> a,
                               CtType<?> b)
a -> bの未チェック変換が可能である場合にのみtrueを返す。 5.1.9 Unchecked Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isCaptureConvertable

boolean isCaptureConvertable(CtType<?> a,
                             CtType<?> b)
a -> bの取得変換(捕捉変換)が可能である場合にのみtrueを返す。 5.1.10 Capture Conversions.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

isStringConvertable

boolean isStringConvertable(CtType<?> type)
type -> java.lang.Stringの文字列変換が可能である場合にのみtrueを返す。 5.1.11 String Conversions

パラメータ:
type - 変換する型
戻り値:
変換可能である場合にのみtrue

isAssignmentConvertable

boolean isAssignmentConvertable(CtType<?> a,
                                CtType<?> b)
a -> bの代入変換が可能である場合にのみtrueを返す。 次の変換を利用できる。 結果の型が未加工型となった場合、次の変換を連続して適用できる。 定数変換も行う必要があるが、ここでは考慮しない。 5.2 Assignment Conversion.

パラメータ:
a - 変換する型
b - 変換先の型
戻り値:
変換可能である場合にのみtrue

erasure

CtType<?> erasure(CtType<?> type)
この型のイレイジャを返す。 4.6 Type Erasure.

パラメータ:
type - 対象の型
戻り値:
対象の型のイレイジャ

raw

CtDeclaredType<?> raw(CtDeclaredType<?> type)
この型の未加工型を返す。 4.8 Raw Types

パラメータ:
type - 対象の型
戻り値:
対象型の未加工型

boxing

<T> CtClass<T> boxing(CtType<T> type)
この型にボクシング変換を適用した型を返す。 5.1.7 Boxing Conversions.

型パラメータ:
T - 型
パラメータ:
type - 対象の型
戻り値:
対象の型にボクシング変換を適用した型、適用できない型が指定された場合にはnull

unboxing

<T> CtType<T> unboxing(CtType<T> type)
この型にアンボクシング変換を適用した型を返す。 5.1.8 Unboxing Conversions.

型パラメータ:
T - 型
パラメータ:
type - 対象の型
戻り値:
対象の型にアンボクシング変換を適用した型、適用できない型が指定された場合にはnull

capture

CtType<?> capture(CtType<?> type,
                  CtType<?> context)
a -> bの取得変換(捕捉変換)が可能である場合にのみtrueを返す。 5.1.10 Capture Conversions.

パラメータ:
type - 変換する型
context - 変換時の型コンテキスト
戻り値:
変換後の型

unaryNumericPromotion

CtType<?> unaryNumericPromotion(CtType<?> type)
単項の数値格上げを行う。 次のコンテキストで使用される。 5.6.1 Unary Numeric Promotion.

パラメータ:
type - 対象の型
戻り値:
変換後の型、適用できない型が指定された場合にはnull

binaryNumericPromotion

CtType<?> binaryNumericPromotion(CtType<?> leftType,
                                 CtType<?> rightType)
二項の数値格上げを行う。 次のコンテキストで使用できる。 5.6.2 Binary Numeric Promotion.

パラメータ:
leftType - 対象の左演算数が持つ型
rightType - 対象の右演算数が持つ型
戻り値:
格上げ後の型、適用できない型が指定された場合にはnull

invocation

CtDeclaredType<?> invocation(CtDeclaredType<?> source,
                             CtDeclaredType<?> superType)
superTypeと同じ宣言を持つsourceのスーパータイプのうち、型を消去していない状態のものを返す。 |superType<U1theta, ..., Uktheta>| :> |source<V1, ..., Vn>|} (型を消去しているスーパータイプ), source<V1, ..., Vn>[V1:= X1, ...,Vn:= Xn] である場合: superType<U1, ..., Uk>, theta = replacement of [V1:= X1, ...,Vn:= Xn] となるようなパラメータ化されたsuperTypeを返す。 そうでない場合: nullを返す。

パラメータ:
source - 基点となる型
superType - イレイジャが|source|のスーパータイプとなる型
戻り値:
型パラメータの復元されたスーパータイプ、スーパータイプでない場合はnull

leastUpperBound

CtType<?> leastUpperBound(Collection<? extends CtType<?>> bounds)
指定された境界の最小の上界を返す。

パラメータ:
bounds - 境界のリスト
戻り値:
最小の上界

greatestLowerBound

CtType<?> greatestLowerBound(Collection<? extends CtType<?>> bounds)
指定された境界の最大の下界を返す。

パラメータ:
bounds - 境界のリスト
戻り値:
最大の下界

borrow

TypeConversions borrow()
インタフェース Tool の記述:
このツールを借りる。

定義:
インタフェース Tool 内の borrow
戻り値:
借りるツール


Copyright 2007 the Seasar Foundation and the Others.