操作に特定のデータタイプのデータが必要な場合、別のデータタイプのデータが指定されると、自動データ強制によってデータタイプの不一致が処理される可能性があります。AEM forms がデータタイプの不一致を検出した場合、まず、カスタム DSC によって実装されたコンテキストに固有の強制を使用して取得しようと試みます。これに失敗した場合、AEM forms は内部強制ルールテーブルを参照して問題を解決します。これに失敗した場合のみ、強制例外がスローされます。
例えば、操作に
int
型の入力値が必要な際に
string
型が指定されている場合、AEM forms サーバーは
string
から
int
型への変換を強制(試行)します。
string
に文字列
"123"
のような数値が含まれる場合、強制が行われ、操作を続行でき、値を整数
123
として扱います。
注意:
現在のデータタイプが要求されたデータタイプと一致する場合、常に強制が成功します。
次の表に内部強制ルールテーブルを示します。これは、特定のデータタイプの組み合わせの限定的な強制の結果を説明しています。
注意:
この表では、数値がデータタイプ int、short、long、byte、および float を表します。
現在のデータタイプ
|
要求されるデータタイプ
|
強制
|
あらゆるタイプ
|
string
|
成功
|
あらゆるタイプ
|
binary (byte[])
|
成功
|
あらゆるタイプ
|
numeric
|
失敗
|
あらゆるタイプ
|
org.w3c.dom.Document
|
失敗
|
あらゆるタイプ
|
com.adobe.idp.Document
|
失敗
|
あらゆるタイプ
|
java.util.List
|
失敗
|
あらゆるタイプ
|
java.util.Map
|
失敗
|
binary (byte[])
|
com.adobe.idp.Document
|
成功
|
binary (byte[])
where byte[] is a list
|
java.util.List
|
成功
|
binary (byte[])
where byte[] is a map
|
java.util.Map
|
成功
|
Boolean
|
int
|
成功
|
Boolean
|
short
|
成功
|
Boolean
|
long
|
成功
|
Boolean
|
byte
|
成功
|
Boolean
|
float
|
成功
|
numeric
|
Boolean
|
成功
|
numeric
|
numeric
|
成功
|
文書
|
org.w3c.dom.Document
|
成功
|
java.io.InputStream
|
java.util.List
|
成功
|
java.io.InputStream
|
java.util.Map
|
成功
|
org.w3c.dom.Document
|
com.adobe.idp.Document
|
成功
|
string
|
numeric
|
成功
|
string
|
Boolean
|
成功
|
string
|
org.w3c.dom.Document
|
成功
|
string
|
com.adobe.idp.Document
|
成功
|
その他の場合はすべて強制が試行されますが、結果は実行時まで不明です。AEM forms がコンテキストに固有の強制の検出を試行する場合は、検出に失敗すると、強制に失敗します。
注意:
上記の表で説明したデータの強制は、Service のカスタムエディターではサポートされません。