﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Handerson Frota - WEB2.0 &#187; singnature</title>
	<atom:link href="http://www.handersonfrota.com.br/tag/singnature/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.handersonfrota.com.br</link>
	<description>Handerson Frota, Blog sobre tecnologias WEB2.0 e JAVA</description>
	<lastBuildDate>Sun, 25 Sep 2011 14:32:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Singnature com DWR</title>
		<link>http://www.handersonfrota.com.br/singnature-com-dwr/</link>
		<comments>http://www.handersonfrota.com.br/singnature-com-dwr/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 18:28:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[singnature]]></category>

		<guid isPermaLink="false">http://www.handersonfrota.com.br/?p=18</guid>
		<description><![CDATA[Uma funcionalidade bem interessante do DWR é a Signature. Uma maneira simples de se trabalhar com Coleções. Signatures no DWR utiliza-se de reflexão para descobrir os tipos que ele deve processar na conversão. É uma forma que o DWR encontrou para resolver alguns problemas de objetos armazenados em uma coleção. Imagine o método a seguir: [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fsingnature-com-dwr%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fsingnature-com-dwr%2F&amp;source=handersonbf&amp;style=normal&amp;service=TinyURL.com&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Uma funcionalidade bem interessante do <a href="http://getahead.org/dwr/" target="_blank">DWR</a> é a <a href="http://getahead.org/dwr/server/dwrxml/signatures" target="_blank">Signature</a>. Uma maneira simples de se trabalhar com Coleções. Signatures no DWR utiliza-se de reflexão para descobrir os tipos que ele deve processar na conversão.</p>
<p>É uma forma que o DWR encontrou para resolver alguns problemas de objetos armazenados em uma coleção. Imagine o método a seguir:</p>
<pre class="java">public void exampleSign(List attribute){ ...

...

}</pre>
<p>Você não tem a mínima idéia do que pode vir no List, pode ser uma coleção de Beans, String, Integer etc. Com Singnatures você poderá garantir que seu método vai receber vários tipos já pré-definidos sem precisar alterar a assinatura do método e sem ter que ter um único tipo. Vejamos um exemplo:</p>
<pre class="java">public void exampleSign(List attribute){ ...

...

}</pre>
<p>Esse é o seu método, e agora você quer que ele receba uma Lista de Beans de Usuários.</p>
<p>No seu dwr.xml fora da tag <code>&lt; allow &gt;&lt; / allow&gt;</code> você irá criar o trecho abaixo:</p>
<pre class="java">&lt; signatures &gt;   &lt; ! - - [ CDATA [

import java.util.List;

import com.jm.dwr.FacadeAjaxSession;

import com.jm.bean.BeanUsuario;

FacadeAjaxSession.exampleSign(List &lt; BeanUsuario &gt;);

] ] - - &gt;
&lt; / signatures &gt;</pre>
<p>Na primeira linha você define que o trecho a seguir é uma Signature, caso você vá utilizar algumas classes que não são &#8220;default&#8221; você deverá fazer o import da mesma. E claro o import da classe que você deseja alterar o método. Na linha 06 você &#8220;diz&#8221;  como o método deverá se comportar.</p>
<p>Agora seu método está recebendo um List de Beans Usuários. Vamos ver outro exemplo:</p>
<p>Queremos agora que o método receba um List de Strings:</p>
<pre class="java">&lt; signatures &gt;   &lt; ! - - [ CDATA [

import java.util.List;

import com.jm.dwr.FacadeAjaxSession;

FacadeAjaxSession.exampleSign(List &lt; String &gt;);

] ] - - &gt;
&lt; / signatures &gt;</pre>
<p>Que tal um List de Integer:</p>
<pre class="java">&lt; signatures &gt;   &lt; ! - - [ CDATA [

import java.util.List;

import com.jm.dwr.FacadeAjaxSession;

import com.jm.bean.BeanUsuario;

FacadeAjaxSession.exampleSign(List &lt; Integer &gt;);

] ] - - &gt;
&lt; / signatures &gt;</pre>
<p>É bem simples de fazer e configurar. É uma opção interessante para quem não quer ficar preso a assinatura do método e ter que fazer uma para cada tipo de collections.</p>
<p>Claro existem várias outras formas e maneiras de se utilizar a signatures do DWR, fica a seu cargo escolher onde ela melhor se aplica. Caso queria saber mais sobre signatures acesse o link abaixo:</p>
<p><a href="http://getahead.org/dwr/server/dwrxml/signatures" target="_blank">http://getahead.org/dwr/server/dwrxml/signatures</a></p>
<p>Abraços.</p>
<!-- boo-widget start -->
          <script type="text/javascript">
            bb_keywords = "singnature";
            bb_bid  = "1643631";
            bb_lang = "pt-BR";
            bb_name = "custom";bb_limit = "7";bb_format = "bbc";
          </script>
          <script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
          <!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.handersonfrota.com.br/singnature-com-dwr/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
