segunda-feira, 29 de setembro de 2014

Processamento de texto com JFileHelper

Caros leitores, resolvi escrever esse post porque não achei muito material referente a essa tecnologia. Logo, espero ajudar e contribuir a todas as pessoas que precisam de uma ajuda e não conseguiu encontrar.

A API JFileHelper serve para processamentos de texto e no meu caso foi usado para processar arquivos do formato txt mas, não sei, se é possível processar arquivos em outros formatos. Acredito que não pois, no site da API não diz nada sobre isso.

Nesse post serão usados os exemplos do site da API, a fim de facilitar o processo de aprendizagem. É possível processar texto com diferentes formatos. Quando digo formatos, quero dizer que a API suporta arquivos em que seus campos estão separados por algum caracter (, | . ; -) ou espaçamento.

Não irei abordar aqui todo o poderio que a API possui. Caso queira tal conhecimento, aconselho que visite o site oficial:

http://jfilehelpers.com/

No nosso exemplo, usaremos um arquivo em que seus campos possuem tamanho fixo. Segue abaixo:


Os pontinhos representam a quantidade de posições que cada campo possui. Para tal arquivo de texto, precisaremos construir uma classe com a seguinte estrutura.


Agora vamos às explicações e curiosidades.

@FixedLengthRecord() -> Determina que está classe irá lidar com arquivos de tamanho fixo.

@FieldFixedLength(inteiro) -> Determina que o atributo marcado terá somente o número de posições especificadas na anotação.

@FieldAlign(alignMode=AlignMode.Right) -> Determina que o campo marcado será alinhado à direita quando for retirado do texto. Para mais informações, visitar o seguinte site:

https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/enums/AlignMode.java

@FieldTrim(trimMode=TrimMode.Right) -> Determina que o campo marcado terá seus espaços em branco retirados à direita. Para mais informações, visitar o seguinte site:

https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/enums/TrimMode.java

@FieldConverter(converter = ConverterKind.Date, format = "dd-MM-yyyy") -> Determina que o campo será convertido para a classe especificada no atributo converter e no formato especificado no atributo format. Para mais informações, visitar o seguinte site:

https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/annotations/FieldConverter.java

https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/enums/ConverterKind.java

@FieldOptional -> Determina que o campo será opcional.

@FieldIgnored -> Determina que o atributo marcado será ignorado no processamento do texto.

CURIOSIDADE: A API funciona de forma posicional, ou seja, a ordem dos atributos é importante. No nosso exemplo, possuíamos o atributo name, o qual era precedido pelo atributo custId. No arquivo esta ordem deve ser mantida e vice-versa.

Caro leitor, se você possuir algum conhecimento sobre tal tecnologia ou, notar que cometi algum erro, sendo primário ou não, enriqueça-nos com seu comentário abaixo.
Leia Mais ››

segunda-feira, 8 de setembro de 2014

Projeto Spring MVC para estudos

Pessoal vou por aqui zipado um projeto pronto para fins de estudo. O projeto possui as seguintes tecnologias:


  • Spring MVC , Core, ORM e AOP 3.1.2
  • JPA
  • Hibernate 4.1.7
  • JSP e JSTL 1.2
  • JasperReports 5.1.0
  • MySQL 5.1.18
  • Servlet 1.0.1
  • Tiles 2.2.2
  • Gson 2.2.4
  • Javax Mail 1.4.3
  • Tomcat v7.0.54

Leia Mais ››

terça-feira, 2 de setembro de 2014

Máscara para RG e CPF

Seguem abaixo máscaras para RG e CPF, aceitando pontos e traços. A solução foi construída com regex na linguagem javascript.

RG (99.999.999-0): /^[0-9]{2}\.[0-9]{3}\.[0-9]{3}\-[0-9]{1}$/


CPF (999.999.999-99): /^[0-9]{3}\.[0-9]{3}\.[0-9]{3}\-[0-9]{2}$/
Leia Mais ››