Apache flex [RemoteClass]在Flex Actionscript中如何工作?我可以将其用于自定义数据绑定吗?

Apache flex [RemoteClass]在Flex Actionscript中如何工作?我可以将其用于自定义数据绑定吗?,apache-flex,data-binding,actionscript,remoting,blazeds,Apache Flex,Data Binding,Actionscript,Remoting,Blazeds,Actionscript支持[RemoteClass]元数据标记,该标记在BlazeDS中用于提供将AMF二进制对象从Java编组到BlazeDS的数据绑定提示 例如: Java: 包装样品 public class UserInfo { private String userName; public String getUserName() { return userName; } public void setUserName(St

Actionscript支持[RemoteClass]元数据标记,该标记在BlazeDS中用于提供将AMF二进制对象从Java编组到BlazeDS的数据绑定提示

例如:

Java: 包装样品

public class UserInfo
{
    private String userName;

    public String getUserName()
    {
        return userName;
    }

    public void setUserName(String value)
    {
        userName = value;
    }
}
动作脚本:

[Bindable]
[RemoteClass(alias="sample.UserInfo")]
public class UserInfo
{
    public var userName:String=”";
}

[RemoteClass]是如何在BlazeDS框架中实现的?您能否覆盖该行为并提供一个自定义数据绑定远程处理框架(例如JSON消息传递系统),您可以将其绑定到Actionscript[Bindable],[RemoteClass]类?

[RemoteClass]仅在Flex端使用。它真正做的只是调用函数来设置本地对象和远程类名之间的映射。

[RemoteClass(alias=“com.example.MyClass”)]是一种用于调用:

要在运行时访问这些注册的别名类(编写自定义JSON数据序列化框架),可以调用:

(别名:String):类 查找以前通过调用registerClassAlias()方法注册了别名的类

对于从AS到Java的传出编码,您需要检索别名类名,您可以通过调用Actionscript对象的类并使用“反射”来查询对象的属性、属性和方法

例如,的以下代码段似乎通过使用“@”检索别名属性:


您可以使用
-keep generated actionscript
编译器参数来查看生成了什么代码以及它是如何工作的。

那么有没有办法访问flash.net.registerClassAlias()列表呢。我正在尝试使用JSON消息编写自己的自定义远程处理,因此我没有使用Flex的生产者/消费者或IDataInput、IDataOutput接口。我需要能够从远程java类名中查找Flex类并构造它;正在废弃丢失的文档。@supervaco:
public function registerClassAlias(aliasName:String, classObject:Class):void
override protected function encodeComplex(o:Object, b:IBinary, context:IContext=null):void
{
        var desc:XML = describeType(o);
        var classAlias:String = desc.@alias;
        //...
}