[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 

Forum Read-Only! Check the new site and forum here!

Formatadores para o Mentawai [ADICIONADO AO FRAMEWORK]  XML
Forum Index -> Comentários Gerais Go to Page: Previous  1, 2, 3, 4, 5 Next 
Author Message
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline


To pensando aqui.

Um converter converte qualquer objeto para qualquer objeto.

Um formatter converte qualquer objeto para uma String.

Acho então que nem vale introduzir mais uma classe Formatter, já que podemos usar converters para isso. Basta dar um toString no objeto que ele retornar, ou seja, se for uma string é a propria string.


Sergio Oliveira

velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

Eh uma....

Mas como ele seria invocado?

VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

FormatterFilter and FormatFilter

Só estaríamos cortando o Formatter que seria o Converter mesmo.

E o mtw:out aceitaria converters, mais ou menos como o JSF.

Sergio Oliveira

velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

Tah ficando show....

Talvez colocar um loadConverters no AppManager, dai o out poderia receber um nome mais simples naum org.mentawai.formatter.DateFormater


VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline


Acho que nem precisa. Basta criar um componente de IoC para o conversor e chamar no mtw:out por esse nome:

Code:
 
 ioc("dateFormatter", new DateConverter(), APPLICATION);
 
 <mtw:out value="myDate" formatter="dateFormatter" />
 
 


É a beleza do IoC criando os antigos singletons.


Sergio Oliveira

velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

Mas alguns mais comuns poderiam ser carregados automaticamente, ou não?


VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline


Sim, mas aí quem vai definir o nome desses formatadores ?

Fazendo assim o cara fica livre para decidir.

Acho que de repente vale fazer o que vc falou: criar um método loadFormatters() que já cria um monte com nomes específicos.

E se o cara quiser criar mais ele dá um override.

Só não pode esquecer de chamar super...




Sergio Oliveira

velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

Pois eh, meu medo eh esse super...

Tenho quase certeza que ele vai gerar alguns topicos no forum, num sei pq, hehehehhe


VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline


Esse super é porque se o cara dar um override e não chamar super, os defaults não serão criados.

Bom, isso é mole de dar um jeito...

Sergio Oliveira

velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

"Vc está pensando no que eu estou pensando pink?"


HhauHUahUAhUAhuahUAhUahAuHA



VELO

_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
ranophoenix


[Avatar]

Joined: 19/07/2006 14:11:34
Messages: 158
Offline

Desse jeito vai ficar muito bom!

www.duallweb.com
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Seguindo as dicas da galera aqui, criei Formatadores para o Mentawai.

Acabei tendo que criar org.mentawai.formatter.Formatter, pois os converters (BasicConverter e LocaleConverter) pegavam os valores do input, logo não deu para reaproveitar. Ficou mais bonitinho tb, pois um Formatter retorna um String e não um Object como um Converter.

Peço que dêem uma olhada no SVN e coloquem aqui qualquer comentário. Peço também que nos ajudem a criar Formatters, pois até o momento só criei um DateFormatter bem meia-boca. Seria o caso talvez de melhorar esse bichinho.

Code:
 
 package org.mentawai.formatter;
 
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
 
 public class DateFormatter implements Formatter {
 	
 	private int style = -1;
 	
 	private SimpleDateFormat sdf = null;
 	
 	public DateFormatter(int style) {
 		
 		this.style = style;
 	}
 	
 	public DateFormatter(String pattern) {
 		
 		this.sdf = new SimpleDateFormat(pattern);
 	}
 	
 	public String format(Object value, Locale loc) {
 		
 		if (!(value instanceof Date)) return value.toString();
 		
 		Date d = (Date) value;
 		
 		if (sdf != null) {
 			
 			return sdf.format(d);
 			
 		} else if (style != -1) {
 			
 			DateFormat df = DateFormat.getDateInstance(style, loc);
 			
 			return df.format(d);
 			
 		} else {
 			
 			throw new IllegalStateException("Should never be here!");
 		}
 	}
 	
 }
 



Sergio Oliveira

ranophoenix


[Avatar]

Joined: 19/07/2006 14:11:34
Messages: 158
Offline

Mandou ver Sérgio! Parabéns!!!!

www.duallweb.com
velo


[Avatar]

Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline

Fiz um carinha pra números....

Tah anexado.


VELO
 Filename NumberFormatterTest.java [Disk] Download
 Description
 Filesize 2 Kbytes
 Downloaded:  220 time(s)

 Filename NumberFormatter.java [Disk] Download
 Description
 Filesize 2 Kbytes
 Downloaded:  249 time(s)


_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer
[Email] [MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Excelente!!! Já adicionei no mentawai indicando no código que vc foi o autor.

Outra coisa:

Já modifiquei o mtw:out para suportar formatadores.

Por enquanto só está suportando formatadores definidos via IoC, ou seja, para usar o NumberFormatter do nosso amigo Marvin diretamente na tag faríamos assim:

Code:
 
 ioc("currFormatter", NumberFormatter.class)
     .addInitValue(new Integer(NumberFormatter.CURRENCY));
 
 <mtw:out value="myCurrency" formatter="currFormatter" />
 
 


Não sei se isso ficou o mais simples possível. É o caso de se pensar se tem como melhorar.

Fazer como o JSF faz, isto é, passando a classe no atributo me parece esquisito, principalmente quando a classe utilizar um construtor com parametros.

Sergio Oliveira

 
Forum Index -> Comentários Gerais Go to Page: Previous  1, 2, 3, 4, 5 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team