Caelum - Ensino e Inovação | Explore o poder de Java e Scrum

Caelum Stella - o cinto de utilidades para o desenvolvedor brasileiro

Por Fabio Kung em 21/05/08

stellaDurante o Falando em Java 2008 do último fim de semana (18/05/2008), anunciamos o lançamento do novo Caelum Stella.

O projeto vem para auxiliar os desenvolvedores brasileiros, suprindo algumas das necessidades comumente encontradas em aplicações desenvolvidas aqui no Brasil. Atualmente, o Caelum Stella fornece uma biblioteca de validadores, formatadores e conversores para documentos brasileiros, tais como CPF, CNPJ e PIS/PASEP.

 String cpf = "867.554.707-24";
 CPFValidator vld = new CPFValidator();
 for(ValidationMessage error : vld.invalidMessagesFor(cpf)) {
   System.out.println(error.getMessage());
 }

Há uma alternativa que lança uma exceção caso ocorra algum problema de validação:

 new CPFValidator().assertValid("867.554.707-24");

O Stella também inclui módulos extras, como o de geração de boletos bancários, adaptadores para JSF, VRaptor, JBoss Seam e Hibernate Validator. Veja um exemplo de validação para CPFs usando o Caelum Stella junto ao Hibernate Validator:

  @Entity
  public class Modelo {
    @CPF
    private String cpf;
  
    public String getCpf() {
      return cpf;
    }
  }

O módulo Stella Faces conta com alguns validadores compatíveis com a especificação JSF, que você pode adicionar aos seus componentes:


<h:inputText id="cpf" value="#{usuarioBean.cpf}">
  <stella:validateCPF/>
</h:inputText>

O Stella Boleto procura fornecer um idioma mais fluente para a geração de boletos, através do encadeamento de métodos, gerando PDFs, PNGs e em breve TXT, RTF e HTML:

  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).toPNG("teste.png");

Estão ainda previstas no roadmap do projeto funcionalidades como JSP taglibs, rotinas JavaScript para máscaras, validação e suporte a formulários, seleção de cidades dependente da seleção de estados, suporte a mais documentos, geração da nota fiscal eletrônica, webservices para busca de endereços através de CEP, entre muitas outras. A lista vem sendo constantemente atualizada e você pode conferi-la através deste link.

Todas estas funcionalidades estão divididas em diversos módulos dentro do Stella. Atualmente são quatro: Stella Core, Stella Hibernate, Stella Faces e Stella Boleto. Cada um com um propósito diferente, mas todos relacionados aos problemas do dia a dia recorrentes no mercado brasileiro.

Além de facilitar a vida dos desenvolvedores brasileiros, o projeto prima pela alta qualidade (extensa quantidade de testes unitários, cobertura e documentação) e facilidade de uso. Você pode conferir diversas características técnicas do projeto e dos vários módulos na página técnica, gerada pelo maven. Lá você encontra a lista de responsáveis (e respectivos emails), a ótima cobertura dos testes para cada um dos módulos e o código fonte navegável para cada um dos módulos.

Como de costume em qualquer projeto open-source, o código fonte está disponível em um repositório SVN (subversion) no sourceforge.net. Para baixar os fontes basta usar seu cliente preferido:

svn checkout http://caelum-stella.svn.sourceforge.net/svnroot/caelum-stella/trunk

Você também pode navegar pelo repositório neste link.

Para tirar as suas dúvidas, sugerir funcionalidades, apontar bugs e discutir sobre o projeto, não deixe de assinar as listas de discussão, que podem ser encontradas aqui. Se preferir, pode postar também no GUJ.

Visite, use, comente e participe do desenvolvimento do projeto!

stella.caelum.com.br

12 Comments »

  1. Muito bom!!!

    Comment by Tiago Albineli Motta — May 21, 2008 @ 6:10 pm

  2. Excelente iniciativa, os desenvolvedores brasileiros precisam de algo assim!

    Comment by Rafael Carneiro — May 21, 2008 @ 10:43 pm

  3. Massa. Já foi para os favoritos.

    Fabio, em qual repositorio Maven o Stella está? Não encontrei nos que uso (http://repo1.maven.org/maven2/, http://www.ibiblio.org/maven/)?

    valeuz…

    Comment by Marcos Silva Pereira — May 22, 2008 @ 6:02 am

  4. Marcos, o pessoal do Maven demora um pouco para sincronizar o repositório deles.

    Se quiser por enquanto, pode usar nosso repositório próprio do maven:

    http://caelum-stella.sourceforge.net/maven
    ou
    http://caelum-stella.sourceforge.net/snapshots para o snapshot-repository.

    Comment by Fabio Kung — May 22, 2008 @ 1:44 pm

  5. [...] por Cauê Guerra (caueguerraΘgmail·com) - referência [...]

    Pingback by Caelum Stella: boletos, validação, formatação e conversão de CPF, CNJ, PIS e mais — May 23, 2008 @ 1:12 pm

  6. Pode parecer uma observação estúpida mas….. não é estranho a API ser em inglês, considerando-se que o domínio do sistema é em português?

    Já passei por esse “problema” e apesar de parecer uma coisa ridiculamente simples foi bastante complicado decidir fazer em inglês ou em portugês.

    Tenho certeza que vcs passaram por isso tb e com certeza discutiram um bocado. Por isso queria saber: quais foram os motivos que fizeram com que vcs decidissem por fazer desta forma “meio a meio”? :)

    [ ]s, gc

    Comment by Guilherme Chapiewski — May 24, 2008 @ 4:23 pm

  7. Guilherme, conversamos mesmo bastante sobre isso. A conclusão foi que justamente os termos do domínio seriam em pt-BR. TODO o resto em inglês.

    Documentação e javadoc em português também.

    Comment by Fabio Kung — May 24, 2008 @ 8:16 pm

  8. Oi Guilherme!

    Realmente essa foi uma grande briga… nao daria pra evitar o ingles totalmente, como ficaria os getters?

    Mas de qualquer maneira, uma ou outra opcao iria deixar algumas pessoas descontentes…

    Comment by Paulo Silveira — May 24, 2008 @ 8:53 pm

  9. Eu sei que com certeza não dá pra agradar todo mundo :) Na época que passei por isso também foi um problema, cada um tinha uma opinião.

    Mas “just for the record”, no fim das contas decidimos da mesma forma que vocês: domínio e documentação em português e o resto em inglês.

    [ ]s, gc

    Comment by Guilherme Chapiewski — May 24, 2008 @ 9:10 pm

  10. Esse componentes são muito utéis na maioria das aplicações, e já te-los prontos e desenvolvidos por vocês já é de absoluta ajuda! Principalmente os componentes para JSF!

    Parabéns!

    Comment by Rafael Ponte — May 27, 2008 @ 5:31 pm

  11. Estou Iniciando em programação, comecei por Java , porém , ao compilar meu primeiro programa, aquele mesmo que tem na apostila, porém na hora de compilar da a seguinte mensagem, ” javac não é reconhecido como um comando interno…”
    Alguém pode me Ajudar???
    No netbens 6.0 também da erro !!!

    Comment by Tulio — June 8, 2008 @ 12:43 am

  12. Aqui não é um bom local para procurar ajuda, mas enfim, só uma orientaçãozinha. Provavelmente será por vc não ter adicionado o Java ao PATH.
    Te dei a direção, faça bom proveito do Google agora!

    E parabéns ao pessoal da Caelum pela biblioteca!
    É de realmente grande utilidade pra todo mundo que trabalha com Java em área comercial!
    Continuem melhorando ela!

    Comment by Taciano — August 20, 2008 @ 10:22 am

RSS feed for comments on this post. TrackBack URL

Leave a comment



Caelum | Ensino e Inovação
São Paulo: Rua Vergueiro, 3185, cj. 87, próximo ao Metrô Vila Mariana   |   Tel. (11) 5571-2751
Rio de Janeiro: Rua Senador Dantas, 80, cj. 307/308 - Centro   |   Tel. (21) 2220-4156 ou 2297-0033