| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 10:56:09
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
saoj wrote:
Seria legal. Agora realmente estou pensando. Se vamos ter que manter o VOFilter para fazer injection, essa feature vai ficar meio que desvalorizada. Mas não custa ter. O que vcs acham?
Pode manter...
É apenas um filtro.... baixissímo acoplamento.
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 10:59:34
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
velo wrote:
saoj wrote:
Seria legal. Agora realmente estou pensando. Se vamos ter que manter o VOFilter para fazer injection, essa feature vai ficar meio que desvalorizada. Mas não custa ter. O que vcs acham?
Pode manter...
É apenas um filtro.... baixissímo acoplamento.
VELO
Estou falando de criar novos métodos para a classe input. Vale realmente a pena poluir a interface input se vamos ter que continuar usando VOFilter na maioria dos casos??? Apenas uma pergunta para dissertaçao / pensamento.
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 11:21:19
|
bruno.braga
Joined: 01/12/2006 09:37:16
Messages: 226
Offline
|
nossa...
Bom, aqueles métodos getDoubleValue, getBooleanValue eu acho que vão ser muito menos usados heheh...
Pelo menos eu não acho legal ficar pegando atributo por atributo do input usando esses métodos... Eles são só para algum caso que não exista bean ou é necessário pegar um ou outro campo manualmente, então não vão ser muito usados. Mas estão lá para quem precisar porque pode ser útil.
Quanto ao getObject(), nem todo mundo vai usar o ModelDriven, então acho que é bem útil, intuitivo e fácil. As pessoas vão preferir usar o getObject() do que o VOFilter()... Tem todas aquelas vantagens que a gente já falou.
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 11:22:53
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Acho que não custa ter isso. Acho que vale a pena colocar mesmo que polua um pouco a interface input e mesmo que para alguns casos tenhamos que usar o VOFilter de qualquer jeito.
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 11:23:41
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
bruno.braga wrote:
nossa...
Bom, aqueles métodos getDoubleValue, getBooleanValue eu acho que vão ser muito menos usados heheh...
Pelo menos eu não acho legal ficar pegando atributo por atributo do input usando esses métodos... Eles são só para algum caso que não exista bean ou é necessário pegar um ou outro campo manualmente, então não vão ser muito usados. Mas estão lá para quem precisar porque pode ser útil.
Quanto ao getObject(), nem todo mundo vai usar o ModelDriven, então acho que é bem útil, intuitivo e fácil. As pessoas vão preferir usar o getObject() do que o VOFilter()... Tem todas aquelas vantagens que a gente já falou.
Concordado!
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 11:25:26
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
saoj wrote:
Estou falando de criar novos métodos para a classe input. Vale realmente a pena poluir a interface input se vamos ter que continuar usando VOFilter na maioria dos casos??? Apenas uma pergunta para dissertaçao / pensamento.
Bem.... eu pra variar tenho uma ideia loooouca
Java 5 tah valendo?
Code:
public class TesteGenerics {
private <E> E getValue() {
return null;
}
public static void main(String[] args) {
TesteGenerics g = new TesteGenerics();
List l = g.getValue(); // E vira um List
Object o = g.getValue(); // E vira um Object
String s = g.getValue(); // E vira um string
int i = g.getValue(); // E vira um Integer
}
}
(Sim esse código compila!!!)
Repare que o retorno do metodo getValue é livre. Eu sei que tem como pegar em runtime o class do E.... algo como E.class, heheheheh
Nooooossa.... tomara que o pessoal saque facil o esquema do Java 5
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 12:07:03
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Esse método é feio demais, mas necessário para a coisa ficar completa e flexível !!!
E aí, joga ele na interface Input?
Code:
/**
* Gets a populated object with the values from the action input.
*
* OBS: Excelent idea given by Bruno Braga!
*
* @param klass The class used to construct the object.
* @param prefix The prefix used to get the values.
* @param tryField Try to inject directly into private fields or no? (default is yes)
* @param tryToConvert Try to convert simple types or no? (default is yes)
* @return The populated object
* @since 1.8
*/
public Object getObject(Class klass, String prefix, boolean tryField, boolean tryToConvert);
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 12:15:03
|
bruno.braga
Joined: 01/12/2006 09:37:16
Messages: 226
Offline
|
Tipo, só pensando também:
Precisa desses 2 campos? tryField, tryToConvert
Não pode ser sempre true, true?
Fala um exemplo de que true, true seja ruim...
O cara quer setar o objeto, não importa se vai ser por set ou forçando o private, importa?
O cara quer setar o objeto, então se não converter os tipos não da para setar, pq o sujeito ia colocar false nisso?
Só pensando...
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 12:19:09
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
É dificil achar um caso mesmo...
Se o cara precisar disso então ele vai de VOFilter !!! Boa !!!!
Já o getObject(klass, prefix) vale a pena ter , né?
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 12:25:48
|
bruno.braga
Joined: 01/12/2006 09:37:16
Messages: 226
Offline
|
É, o prefix já é mais útil =)
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 12:46:20
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Os métodos abaixo foram adicionados na interface org.mentawai.core.Input.
Por favor peguem o Jar beta e testem esses métodos, assim como VOFilter e InjectionFilter.
Toda a lógica pesada de reflection foi passada para a class org.mentawai.util.InjectionUtil.
Tanto as implementações de InputRequest, InputMap, VOFilter e InjectionFilter utilizam o método getObject da classe InjectionUtil.
Code:
/**
* Gets a populated object with the values from the action input.
*
* OBS: Excelent idea given by Bruno Braga!
*
* @param klass
* @return The populated object
* @since 1.8
*/
public Object getObject(Class klass);
/**
* Gets a populated object with the values from the action input.
*
* Use the prefix in front of every value name.
*
* OBS: Excelent idea given by Bruno Braga!
*
* @param klass
* @param prefix
* @return The populated object
* @since 1.8
*/
public Object getObject(Class klass, String prefix);
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 12:50:19
|
bruno.braga
Joined: 01/12/2006 09:37:16
Messages: 226
Offline
|
=)
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/12/2006 05:21:20
|
bruno.braga
Joined: 01/12/2006 09:37:16
Messages: 226
Offline
|
Acho que está funcionando blz, mas só uma dúvida:
Não vai ter o recurso ao contrário? Que seria tipo o OVFilter...
output.setObject(User);
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/12/2006 13:34:15
|
bruno.braga
Joined: 01/12/2006 09:37:16
Messages: 226
Offline
|
output.setObject() resolve a mesma questão para o OVFilter.
Vai ter isso? Quer que faça algo?
|
http://www.brunobraga.com.br
http://www.j2eespider.org |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/12/2006 13:41:59
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Seria bom ter isso sim...
Tem que codificar...
No mesmo esquema do VOFilter...
O trabalho sujo vai pra dentro de InjectionUtils
|
Sergio Oliveira
|
|
|
 |
|
|