problema aqui que estou com receio é que só queria ajustar a url dentro do send() sobrescrito... são muitos services que vão extender dessa classe...
Já pensou se numa fração de segundo entre um this.url += getURL("getAll") e o return this.send(); Uma outra classe de mesma origem execute outra chamada e os valores choquem queria manter tudo dentro do send pra tentar evitar isso? Em 18 de abril de 2013 14:44, Gustavo Martinez <g...@ufrj.br> escreveu: > Wemerson, > > Olhando sua classe novamente, vc pretende chamar o send() sempre de dentro > dos services, né? > e vai sempre alimentar a variável this.url, né? > > como todas as funções, as q chamam e o send, estão na mesma classe, e a > variável this.url tb, eu definiria a this.url na chamada andes de chamar o > send() e nem precisa dar override no send(); > > public function getAll():AsyncToken{ > this.url += getURL("getAll"); > return this.send(); > } > > protected function getURL(func:String):String { > return "/" + this.remoteService + func; > } > > > *-- > Gustavo Martinez* > > > 2013/4/18 Wemerson Couto Guimarães <wemerso...@gmail.com> > >> @Freddy, a dica foi boa; mas infelizmente não dá certo, visto que o >> arguments.callee é referente à função atual e não mostra nada sobre qual >> função anterior. >> >> >> http://stackoverflow.com/questions/4731935/actionscript-obtain-the-name-of-the-current-function >> >> Se pelo menos tivesse como fazer um override inserindo novos parâmetros. >> >> >> @Gustavo, eu queria manter tudo o mais desacoplado possível, sem >> malabarismos... só usando o que fosse nativo mesmo... mas estou analisando >> que a melhor saída é passar o nome nos parameters mesmo... >> >> >> >> Em 18 de abril de 2013 13:40, Fredy Gadotti >> <fredy.gado...@gmail.com>escreveu: >> >> Se não me engano, os métodos tem uma propriedade especial que não aparece >>> no code complete que se chama "callee", que tem o nome da função que chamou >>> o método corrente. >>> >>> Dá uma pesquisada nisso, que é o caminho das pedras :D >>> hehe >>> >>> >>> 2013/4/18 Wemerson Couto Guimarães <wemerso...@gmail.com> >>> >>>> Não tem como... pra fazer um override de uma função/método a sua >>>> declaração deve ser idêntica à função da classe original, exceto pelo termo >>>> "override" é claro! >>>> >>>> >>>> >>>> >>>> >>>> >>>> Em 18 de abril de 2013 11:59, Gustavo Martinez <g...@ufrj.br> escreveu: >>>> >>>> Wemerson, aconselho passar o nome da função como parâmetro: >>>>> >>>>> override public function send(*functionName*:String, >>>>> parameters:Object=null):AsyncToken{ >>>>> >>>>> this.url += "/" + this.remoteService + *functionName*; // (getAll, >>>>> getById, save, etc...) >>>>> return super.send(parameters); >>>>> } >>>>> >>>>> *-- >>>>> Gustavo Martinez* >>>>> >>>>> >>>>> 2013/4/18 Wemerson Couto Guimarães <wemerso...@gmail.com> >>>>> >>>>>> O detalhe é que eu preciso justamente saber o nome do método que >>>>>> originou a chamada, pois ele vai ser usado posteriormente. >>>>>> >>>>>> veja um exemplo com um override.. onde preciso saber qual o método.. : >>>>>> >>>>>> Class ServiceBase extends HTTPService >>>>>> { >>>>>> private var remoteService:String; >>>>>> >>>>>> public function ServiceBase(serviceName:String){ >>>>>> this.remoteService = serviceName; >>>>>> } >>>>>> >>>>>> override public function send(parameters:Object=null):AsyncToken{ >>>>>> >>>>>> this.url += "/" + this.remoteService + METODO_REMOTO; // (getAll, >>>>>> getById, save, etc...) >>>>>> return super.send(parameters); >>>>>> } >>>>>> >>>>>> public function getAll():AsyncToken{ >>>>>> return this.send(); >>>>>> } >>>>>> >>>>>> public function getById(id:):AsyncToken{ >>>>>> var parameters:Object = new Object(); >>>>>> parameters.id = id; >>>>>> return this.send(parameters); >>>>>> } >>>>>> >>>>>> public function save(object:*):AsyncToken{ >>>>>> return this.send(object); >>>>>> } >>>>>> } >>>>>> >>>>>> Class UsuarioService extends ServiceBase >>>>>> { >>>>>> public function UsuarioService(){ >>>>>> this.super( 'usuario' ); >>>>>> } >>>>>> } >>>>>> >>>>>> >>>>>> -- >>>>>> Wemerson Guimarães >>>>>> Rio Verde - Go - Brasil >>>>>> >>>>>> -- >>>>>> -- >>>>>> 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 >>>>>> --- >>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>>> "flexdev" dos Grupos do Google. >>>>>> Para cancelar a inscrição neste grupo e parar de receber seus >>>>>> e-mails, envie um e-mail para flexdev+unsubscr...@googlegroups.com. >>>>>> Para obter mais opções, acesse >>>>>> https://groups.google.com/groups/opt_out. >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> -- >>>>> 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 >>>>> --- >>>>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>>> "flexdev" dos Grupos do Google. >>>>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >>>>> envie um e-mail para flexdev+unsubscr...@googlegroups.com. >>>>> Para obter mais opções, acesse >>>>> https://groups.google.com/groups/opt_out. >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Wemerson Guimarães >>>> Rio Verde - Go - Brasil >>>> >>>> -- >>>> -- >>>> 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 >>>> --- >>>> Você está recebendo esta mensagem porque se inscreveu no grupo >>>> "flexdev" dos Grupos do Google. >>>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >>>> envie um e-mail para flexdev+unsubscr...@googlegroups.com. >>>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out >>>> . >>>> >>>> >>>> >>> >>> -- >>> -- >>> 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 >>> --- >>> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" >>> dos Grupos do Google. >>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >>> envie um e-mail para flexdev+unsubscr...@googlegroups.com. >>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out. >>> >>> >>> >> >> >> >> -- >> Wemerson Guimarães >> Rio Verde - Go - Brasil >> >> -- >> -- >> 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 >> --- >> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" >> dos Grupos do Google. >> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >> envie um e-mail para flexdev+unsubscr...@googlegroups.com. >> Para obter mais opções, acesse https://groups.google.com/groups/opt_out. >> >> >> > > -- > -- > 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 > --- > Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" > dos Grupos do Google. > Para cancelar a inscrição neste grupo e parar de receber seus e-mails, > envie um e-mail para flexdev+unsubscr...@googlegroups.com. > Para obter mais opções, acesse https://groups.google.com/groups/opt_out. > > > -- Wemerson Guimarães Rio Verde - Go - Brasil -- -- 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 --- Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos Grupos do Google. Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para flexdev+unsubscr...@googlegroups.com. Para obter mais opções, acesse https://groups.google.com/groups/opt_out.