1. SwfとJavaのRemote Objectの型変換におけるBooleanの特徴。
オフィシャルな情報はこちら。
http://help.adobe.com/ja_JP/Flex/4.0/AccessingData/WS2db454920e96a9e51e63e3d11c0bf69084-7fda.html
↑によると、AS3のBooleanとJavaのjava.lang.Booleanは普通に疎通できるが、
アクセサメソッドの命名について、他の型と若干の開きがある。
StringとIntegerでの命名対応は下記の通り。
//-----------------------------
Java:
private String param;
public String getParam() ;
public void setParam(String param);
AS:
public param:String
-------------------------------//
BooleanでJava側のアクセサをis形式で書いた場合。
AS側ではisをのぞいたメンバ名をターゲットにバインドしようとしてくる。
//-----------------------------
Java:
private Boolean isFoo;
public Boolean isFoo();
public void setFoo(Boolean foo);
AS:
public foo:Boolean;
------------------------------//
BooleanでJava側のアクセサをゲッターセッターで無理矢理
書けばisFooにバインドしにいってくれる。
アクセサ名で判断してんの?
//-----------------------------
Java:
private Boolean isFoo; (←冷静に考えてbooleanに対してこの変数命名がおかしかった 2011/5/11追記 )
public Boolean getIsFoo();
public void setIsFoo(Boolean foo);
AS:
public isfoo:Boolean;
------------------------------//
ちなみに、HibernateではいてくれるEntityで、
セッターに戻り値があったりすると認識してくれません。
//--------------------------
public String setFoo(String foo);
----------------------------//
上記理由等でRemote Objectの型変換に失敗した場合は、
デバッグ用のFlashを使っていればログにエラー出力が出ます。
0 件のコメント:
コメントを投稿