[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
RE: usando <sequence>s
- Subject: RE: usando <sequence>s
- From: Fabio Kon <PROTECTED>
- Date: Wed, 27 Mar 2002 11:10:31 -0300 (EST)
Paulo Eduardo Azevedo Silveira writes:
>
> oi pessoal
>
> eu tenho algumas interfaces no meu modulo, uma delas eh a ChatRoom
>
> tenho o metodo listRooms() que retorna uma ChatRoom<sequence>
>
> No java, ele transforma isso para:
> ChatRoom[] listRooms();
>
> Ate ai tudo bem. Mas eu tenho uma lista de ChatRoomImpl[]. que nao sao
> ChatRoom, pois extendem ChatRoomPOA. A unica maneira que encontrei para
> fazer essa conversao foi:
>
> while (...) {
> temp[i] = ((ChatRoomImpl) iterator.next())._this();
> }
>
> Esse metodo ._this() resolveu, mas o que ele faz exatamente?^Outra coisa,
> eu vi que ele criou umas classes ChatRoomArrayHelper, achei que la ia ter
> algo que ajudasse a fazer essa conversao, mas nao tem.
Vamos la' (espero nao falar besteira).
O metodo _this() registra o servente com o POA e devolve um apontador para o
Objeto CORBA resultante. Assim, voce deve chamar o _this só uma vez para cada
objeto ChatRoomImpl. Voce pode fazer isso, por exemplo, na operacao que cria
novos chat rooms.
Toda vez que fizer uma chamada ao _this(), guarde o valor resultante no seu
ChatRoom[] listRooms()
e dai' a sua operacao listRooms() pode simplesmente devolver esse vetor.
O que eu acho que voce nao deve fazer e' chamar o _this() dentro da operaca
listRooms()
[]s,
Fabio.