// Path: nfse-bh/src/main/java/com/pablodomingos/classes/rps/enums/RpsSerie.java
// @XStreamConverter(EnumToStringConverter.class)
// public enum RpsSerie {
// 
//   NFE, A, U;
// 
// }
// 
// Path: nfse-bh/src/main/java/com/pablodomingos/classes/rps/enums/RpsTipo.java
// @XStreamConverter(EnumToStringConverter.class)
// public enum RpsTipo {
// 
//   RPS(1, "Recibo Provisorio de Servicos"), 
//   MISTA(2, "RPS Nota Fiscal Conjugada (Mista)"), 
//   CUPOM(3, "Cupom");
// 
//   private int codigo;
//   private String descricao;
// 
//   RpsTipo(int codigo, String descricao) {
//     this.codigo = codigo;
//     this.descricao = descricao;
//   }
// 
//   public String getCodigo() {
//     return String.valueOf(this.codigo);
//   }
//   
//   public String getDescricao() {
//     return this.descricao;
//   }
// 
//   public static RpsTipo fromInt(int codigo) {
//     if (codigo > 0 && codigo < 4) {
//       for (RpsTipo tipo : RpsTipo.values()) {
//         if (tipo.getCodigo().equals(String.valueOf(codigo))) {
//           return tipo;
//         }
//       }
//     }
//     return null;
//   }
// 
//   @Override
//   public String toString() {
//     return String.valueOf(codigo);
//   }
// }


import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import com.pablodomingos.classes.rps.enums.RpsSerie;
import com.pablodomingos.classes.rps.enums.RpsTipo;
import com.thoughtworks.xstream.annotations.XStreamAlias;
package com.pablodomingos.classes.rps;



public class RpsIdentificacao {

  @XStreamAlias("Numero")
  @NotNull
  @Pattern(regexp = "\\d+")
  @Size(min=1, max=15)
  private String numero;

  @XStreamAlias("Serie")
  @NotNull
  private RpsSerie serie = RpsSerie.A;

  @XStreamAlias("Tipo")
  @NotNull
  private RpsTipo tipo = RpsTipo.RPS;

  public RpsIdentificacao(String numero) {
    this.numero = numero;
  }

  public String getNumero() {
    return numero;
  }

  public RpsSerie getSerie() {
    return serie;
  }

  public void setSerie(RpsSerie serie) {
    this.serie = serie;
  }

  public RpsTipo getTipo() {
    return tipo;
  }

// Path: nfse-bh/src/main/java/com/pablodomingos/classes/rps/enums/RpsSerie.java
// @XStreamConverter(EnumToStringConverter.class)
// public enum RpsSerie {
// 
//   NFE, A, U;
// 
// }
// 
// Path: nfse-bh/src/main/java/com/pablodomingos/classes/rps/enums/RpsTipo.java
// @XStreamConverter(EnumToStringConverter.class)
// public enum RpsTipo {
// 
//   RPS(1, "Recibo Provisorio de Servicos"), 
//   MISTA(2, "RPS Nota Fiscal Conjugada (Mista)"), 
//   CUPOM(3, "Cupom");
// 
//   private int codigo;
//   private String descricao;
// 
//   RpsTipo(int codigo, String descricao) {
//     this.codigo = codigo;
//     this.descricao = descricao;
//   }
// 
//   public String getCodigo() {
//     return String.valueOf(this.codigo);
//   }
//   
//   public String getDescricao() {
//     return this.descricao;
//   }
// 
//   public static RpsTipo fromInt(int codigo) {
//     if (codigo > 0 && codigo < 4) {
//       for (RpsTipo tipo : RpsTipo.values()) {
//         if (tipo.getCodigo().equals(String.valueOf(codigo))) {
//           return tipo;
//         }
//       }
//     }
//     return null;
//   }
// 
//   @Override
//   public String toString() {
//     return String.valueOf(codigo);
//   }
// }


// Path: nfse-bh/src/main/java/com/pablodomingos/classes/rps/RpsIdentificacao.java
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import com.pablodomingos.classes.rps.enums.RpsSerie;
import com.pablodomingos.classes.rps.enums.RpsTipo;
import com.thoughtworks.xstream.annotations.XStreamAlias;

package com.pablodomingos.classes.rps;



public class RpsIdentificacao {

  @XStreamAlias("Numero")
  @NotNull
  @Pattern(regexp = "\\d+")
  @Size(min=1, max=15)
  private String numero;

  @XStreamAlias("Serie")
  @NotNull
  private RpsSerie serie = RpsSerie.A;

  @XStreamAlias("Tipo")
  @NotNull
  private RpsTipo tipo = RpsTipo.RPS;

  public RpsIdentificacao(String numero) {
    this.numero = numero;
  }

  public String getNumero() {
    return numero;
  }

  public RpsSerie getSerie() {
    return serie;
  }

  public void setSerie(RpsSerie serie) {
    this.serie = serie;
  }

  public RpsTipo getTipo() {
    return tipo;
  }

  public void setTipo(RpsTipo tipo) {