| Flex 2 開発ガイド > データアクセスと相互接続性 > アプリケーションでのデータの分散 > クライアントサイドオブジェクトから Java オブジェクトへのマッピング | |||
サーバーサイドの Java オブジェクトをクライアントアプリケーション内で表現するには、[RemoteClass(alias=" ")] メタデータタグを使用し、Java オブジェクトに直接マップされる ActionScript オブジェクトを作成します。alias の値として、Java クラスの完全修飾クラス名を指定します。これは、RemoteObject コンポーネントを使用する場合に Java オブジェクトへのマッピングに使用する方法と同じです。
サーバー上の Java オブジェクトにマップせず、サーバーから独自のオブジェクト型を送り返す場合は、エイリアスを指定しない [RemoteClass] メタデータタグを使用できます。独自の ActionScript オブジェクトは、サーバーに送られるときは Map オブジェクトに直列化されますが、サーバーからクライアントに返されるときは元の ActionScript 型になります。
クライアントサイドオブジェクトとサーバーサイドオブジェクト間で、管理された関連付けを作成する場合は、同時に [Managed] メタデータタグを使用するか、または mx.data.IManaged インターフェイスを明示的に実装します。
Flex データサービス サンプルアプリケーションに含まれる CRM アプリケーションは、管理された関連付けの例です。次の例は、クライアントサイドの ActionScript Company クラスのソースコードを示しています。これには、サーバーサイドの Java Company クラスとの管理された関連付けが含まれます。
package samples.crm
{
import mx.collections.ArrayCollection;
[Managed]
[RemoteClass(alias="samples.crm.Company")]
public class Company
{
public var companyId:int;
public var name:String = "";
public var address:String = "";
public var city:String = "";
public var state:String = "";
public var zip:String = "";
public var industry:String = "";
public function Company()
{
}
}
}
次の例は、対応するサーバーサイドの Java Company クラスのソースコードです。
package samples.crm;
import java.util.Set;
public class Company
{
private int companyId;
private String name;
private String address;
private String city;
private String zip;
private String state;
private String industry;
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}
public String getCity()
{
return city;
}
public void setCity(String city)
{
this.city = city;
}
public int getCompanyId()
{
return companyId;
}
public void setCompanyId(int companyId)
{
this.companyId = companyId;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getState()
{
return state;
}
public void setState(String state)
{
this.state = state;
}
public String getZip()
{
return zip;
}
public void setZip(String zip)
{
this.zip = zip;
}
public String getIndustry()
{
return this.industry;
}
public void setIndustry(String industry)
{
this.industry = industry;
}
public String toString()
{
return "Company(companyId=" + companyId + ", name=" + name + ", address=" + address +
", state" + state + ", zip=" + zip + " industry=" + industry + ")";
}
}
Flex 2.01