Todos os meus objetos VO extendem uma classe VOBase

Gostaria de implementar um método de copia para meus objetos VO, onde
eu iria copiar o estado de outro objeto para o objeto onde fosse
invocado o método.

Na minha classe VOBase tenho os dois métodos

/**
 * Clona o estado de um objeto
 * @param Objeto que será clonado
 */
public static function cloneObject(o:Object):Object{
        var bytes:ByteArray = new ByteArray();
        bytes.writeObject(o);
        bytes.position = 0;
        return bytes.readObject();
}

/**
 * Copia o estado de um objeto
 * @param Obejto que será copiado
 */
public function copyObject(o:Object):void
{
        for ( var p:String in this )
        {
                this[p] = o[p];
        }
}

Quando tento fazer a cópia via clone

item = VOBase.cloneObject( tmp );

a variável item perde sua referência e recebe uma nova referência para
um novo objeto com o mesmo estado de tmp. Não é o que eu quero, eu não
quero perder a referencia. Quero copiar o estado para o objeto que eu
já estou referenciando.


Quando tento fazer a cípia via copy

item.copyObject( tmp );

A variável item não perde sua referência mas também não tem suas
propriedades alteradas, nenhuma modificação é feita.

Para criar a função copy me baseiei nessa página
http://help.adobe.com/pt_BR/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fcf.html


Alguma sugestão????

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a