Foque apenas no seu próprio negócio.
Deixe as preocupações como validação e geração de documentos brasileiros para um projeto especializado neste ramo. O Caelum Stella é um projeto open-source com o foco nesta area, e hoje acaba de ser lançada a nova versão deste cinto de utilidades do desenvolvedor brasileiro.
O projeto Caelum Stella fornece várias funcionalidades necessárias para o mercado brasileiro. Utilizando este projeto sua aplicação terá a acesso a recursos como validação de documentos brasileiros (CPF, CNPJ, PIS/PASEP/SUS, Inscrição Estadual) e geração de boletos.
Além disso, visando minizar o esforço para adoção em projetos existentes, são fornecidos adpatadores para frameworks como o Hibernate Validator e Java Server Faces.
Segue abaixo as funcionalidades incluídas na última versão o Caelum Stella:
[list]Validadores de Inscrição Estadual para todos os estados[/list]
Utlizando as anotações para o Hibernate Validator
[code] @IE
public class PrestadoraDeServicos {
private String ie;
private String estado;
public PrestadoraDeServicos(String ie, String estado) {
this.ie = ie;
this.estado = estado;
}
// getters e setters
} [/code]
Ou, utilizando as tags JSF do Stella.
<h:panelGrid>
<h:messages />
<h:outputText value="Selecione um estado:" />
<h:selectOneMenu id="estado"
valueChangeListener="#{EmpresaBean.atualizaEstadoNoValidador}"
immediate="true">
<f:selectItem itemValue="" itemLabel="" />
<f:selectItem itemValue="SP" itemLabel="SP" />
<f:selectItem itemValue="RJ" itemLabel="RJ" />
</h:selectOneMenu>
<h:outputLabel value="IE sem formatacao:" for="ie" />
<h:inputText id="ie" value="#{EmpresaBean.ie}">
<stella:validateIE formatted="false"
binding="#{EmpresaBean.ieValidator}" />
</h:inputText>
</h:panelGrid>
[list]Geração de boleto bancário para o Banco Bradesco[/list]
[code]
Banco banco = new Bradesco();
Boleto boleto = Boleto.newBoleto().withBanco(banco).withDatas(datas)
.withDescricoes(“descricao 1”, “descricao 2”, “descricao 3”)
.withEmissor(emissor).withSacado(sacado)
.withValorBoleto(“200.00”).withNoDocumento(“1234”)
.withInstrucoes(“instrucao 1”, “instrucao 2”, “instrucao 3”)
.withLocaisDePagamento(“local 1”, “local 2”);
new BoletoGenerator(boleto).toPDF(“teste.pdf”);[/code]
[list]Rotina para geração de números por extenso[/list]
NumericToWordsConverter converter = new NumericToWordsConverter(new FormatoDeReal());
double numero = 1000150.99;
String extenso = converter.toWords(numero);
System.out.println(extenso);
Saída no Console: um milhão e cento e cinquenta reais e noventa e nove centavos
Acesse mais informações no website do projeto:
http://stella.caelum.com.br/
E o roadmap dos futuros recursos:
http://stella.caelum.com.br/roadmap.html
Parabéns a toda equipe do Caelum Stella: Paulo Silveira, Fábio Kung, Caires Santos, Caue Guerra, Lucas Cavalcanti, Jonas Abreu e Guilherme Moreira.
Agradecimentos a comunidade open-source que tem colaborado com o Caelum Stella. Em especial, ao Victor Santos e ao Rafael Carvalho pelas colaborações com o módulo de geração números por extenso.
Colabore você também com o Caelum Stella!