Skip to content

Instantly share code, notes, and snippets.

View jrdalpra's full-sized avatar
🌎
Working from anywhere

José V. Dal Prá Junior jrdalpra

🌎
Working from anywhere
View GitHub Profile
@jrdalpra
jrdalpra / LinkedList.java
Created February 27, 2016 01:54
OO LinkedList
import java.util.Iterator;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
import lombok.val;
@ToString
public class LinkedList<T> implements Iterable<T> {
@jrdalpra
jrdalpra / DoublyLinkedList.java
Created February 26, 2016 02:10
OO DoublyLinkedList
import java.util.Iterator;
import lombok.AllArgsConstructor;
import lombok.ToString;
import lombok.val;
@ToString
public class DoublyLinkedList<T> {
private Node<T> first;
@jrdalpra
jrdalpra / Factorial.java
Created February 25, 2016 00:53
OO Factorial
import lombok.AllArgsConstructor;
@SuppressWarnings("serial")
@AllArgsConstructor
public class Factorial extends Number {
private final Integer number;
@Override
public double doubleValue() {
@jrdalpra
jrdalpra / Fibonacci.java
Last active February 25, 2016 00:49
OO Fibonacci
@SuppressWarnings("serial")
public class Fibonacci extends Number {
private final Integer number;
public Fibonacci(Integer number) {
super();
this.number = number;
}
@jrdalpra
jrdalpra / PalindromeNumber.java
Created February 25, 2016 00:48
OO PalindromeNumber
import lombok.experimental.Delegate;
@SuppressWarnings("serial")
public class PalindromeNumber extends Number {
@Delegate
private final Number original;
public PalindromeNumber(Number original) {
super();
@jrdalpra
jrdalpra / ReversedNumber.java
Created February 25, 2016 00:47
OO ReversedNumber
public class ReversedNumber extends Number {
private static final long serialVersionUID = 1L;
private final Number original;
public ReversedNumber(Number original) {
super();
this.original = original;
@jrdalpra
jrdalpra / BinaryTree.java
Last active February 25, 2016 00:30
Java 8 BinaryTree
import java.util.function.Consumer;
import lombok.ToString;
import lombok.val;
@ToString
public class BinaryTree<T extends Comparable<T>> {
private final Node<T> root;
@jrdalpra
jrdalpra / CleanArchitectureIdeas.java
Last active August 29, 2015 14:08
Clean Architecture Ideas.java
interface Processor<Request,Response> {
Response process(Request request);
}
class UserRepositoryThatUsesJPA implements UserRepository {
EntityManager entities;
Converter<User,UserEntity> toEntity;
Converter<UserEntity,User> toUser;
@jrdalpra
jrdalpra / Nf-e.md
Last active August 29, 2015 14:07 — forked from rponte/Nf-e.md

Primeira coisa a se fazer é baixar o Manual do Contribuinte, leia de ponta a ponta!

Baixa os esquemas XML e usando alguma ferramenta gere as classes java a partir dele, eu fiz usando o JAXB, atualmente o jaxb ja vem junto com o java, nas pasta bin tem um executavel chamado XJC, este carinha pega os .xsd e te gera todas as classes da NFe.

Agora é implementar o app, basicamente seria o seguinte:

  1. Usuario insere os dados, onde tu vai preenchendo o objeto TNFe, considerando o que é obrigatorio e tals(leia o manual, e o tenha sempre ao lado);
  2. Tu pega o TNFe preenchido e faz o marshaller dele, transformando ele em XML;
  3. Assina o XML com o certificado digital do cliente, aqui é onde varias pessoas encontram dificuldades, aqui no GUJ tem umas 3 ou 4 thread sobre NFe, com varias paginas e varios exemplos de assinatura e certificado digital;
  4. Assina a conexao, acho que nao é bem assinar a conexao, mas a conexao tera que ser aberta em