red5 v0.9: конвертировать из org.red5.io.utils.ObjectMap в класс - PullRequest
0 голосов
/ 24 января 2010

Я использую red5 v0.9 svn.

функция appConnect(Iconnection conn,Object[] params)

предоставляет массив типа ObjectMap.

Я хотел бы преобразовать params [0] в класс ConnectParams, который я создал:

public class ConnectParams extends Object {

    public Double toolkitVersion;
    public String gameName;
    public Integer userId;
    public Integer challengeId;

}

Когда я пытаюсь конвертировать, используя следующую команду: ConnectParams param = (ConnectParams) params [0];

я получаю следующую ошибку:

java.lang.ClassCastException: org.red5.io.utils.ObjectMap cannot be cast to com.xpogames.ConnectParams

на стороне Flash у меня такое же определение этого же класса, и я отправляю его в качестве параметра.

на стороне red5 java, если я печатаю params [0] .toString (), я вижу все ключи и значения из класса ConnectParams, который я отправил, что означает, что единственное, что мне не хватает, это как конвертировать этот ObjectMap к соответствующему типу класса.

1 Ответ

1 голос
/ 24 января 2010

Я решил проблему, приведя params [0] к hashmap и передав его конструктору моего класса, в этом классе я использую .get () и .containsKey () для заполнения моего класса:

ConnectParams param = new ConnectParams((HashMap<String,Object>)params[0]);
...