[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Duvida sobre iteradores



Andrei Goldchleger writes:
 > Mas como eu faco o RangeQuery de dois objetos genericos(por exemplo,
 > valores nao enumeraveis ou strings)?

Ah, só agora entendi a sua dúvida!

Você não faz RangeQuery sobre um campo que não seja tipo primitivo ou
String. Assuma que os campos de um DBObject tem de ser de tipos
primitivos ou Strings. Na criação de um RecordSet você poderia inclusive
checar o argumento recordType e garantir que essa condição é satisfeita.

Reverbel

 > 
 > Teh c++
 > 
 > Andrei Goldchleger
 > 
 > Francisco Reverbel wrote:
 > > 
 > > Andrei Goldchleger writes:
 > >  > Reverbel,
 > >  >
 > >  > Estamos com um problema.A funcao RangeQuery precisa receber 2 object
 > >  > definindo os limites das busca, e nao existe metodo facil de implementar
 > >  > isso.Temos 3 opcoes:
 > >  >
 > >  > 1) Utilizo uma funcao de comparacao generica que testa pelo tipo do
 > >  > campo em questao e deduz a funcao de comparacao a ser aplicada
 > >  >
 > >  > 2) O mesmo q o anterior, mas nao tao bem feito(assumindo  que os limites
 > >  > sao numericos).
 > > 
 > > E se o campo for tipo String?
 > > 
 > >  > 3) Estendendo a interface dbobject, imlplementando uma funcao boolean
 > >  > less(dbobject objeto) para comparar dois campos do objeto.
 > >  >
 > >  > Nos preferimos a terceira solucao, pois da enorme flexibilidade para o
 > >  > usuario,mas nao sabemos se a interface dbobject pode ser ampliada
 > > 
 > > Não, ela não deveria ser ampliada.
 > > 
 > >  > O que devemos fazer????
 > > 
 > > É preciso fazer a comparação levando em conta o tipo do campo. Caso seja
 > > String, ela deve ser feita chamando o método compareTo() da classe String.
 > > 
 > > Reverbel