All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mx.emite.sdk.proxy.request.SellarYTimbrarRequest Maven / Gradle / Ivy

Go to download

Este kit de consumo provee a los integradores de Apis de Java para construir software que consuma los diferentes servicios web publicados por Emite Facturacion

The newest version!
package mx.emite.sdk.proxy.request;

import java.io.InputStream;
import java.nio.file.Path;

import javax.validation.constraints.NotNull;

import lombok.Getter;
import lombok.ToString;
import mx.emite.sdk.cfdi32.Comprobante;
import mx.emite.sdk.cfdi32.nomina.ComprobanteNomina;
import mx.emite.sdk.errores.ApiException;
import mx.emite.sdk.ret10.Retenciones;
import mx.emite.sdk.utils.Utilerias;

@ToString
@Getter
public class SellarYTimbrarRequest {

	/**
	 * Usuario del Emisor -- SETTER --
	 * 
	 * @param usuario
	 *            Usuario del Emisor obtenido de Scot©
	 * 
	 */
	@NotNull
	private String usuario;
	@NotNull
	private String contrasena;

	private String sucursal;
	@NotNull
	private String xml;

	

	
	
	public static SellarYTimbrarRequestBuilder builder() {
		return new SellarYTimbrarRequestBuilder();
	}

	public static class SellarYTimbrarRequestBuilder {
		private String usuario;
		private String contrasena;
		private String sucursal;
		private String xml;

		public SellarYTimbrarRequestBuilder codifica(final String xmlSinCodificar) throws ApiException{
			this.xml = Utilerias.codifica64Utf8(xmlSinCodificar);
			return this;
		}
		
		public SellarYTimbrarRequestBuilder archivo(final String rutaArchivoSinCodificar) throws ApiException {
			return codifica(Utilerias.leeArchivo(rutaArchivoSinCodificar));
		}
		
		public SellarYTimbrarRequestBuilder archivo(final Path rutaArchivoSinCodificar) throws ApiException {
			return codifica(Utilerias.leeArchivo(rutaArchivoSinCodificar));
		}
		
		public SellarYTimbrarRequestBuilder is(InputStream is) throws ApiException{
			return codifica(Utilerias.leeArchivo(is));
		}
		
		public SellarYTimbrarRequestBuilder comprobante(Comprobante comprobante) throws ApiException{
			return codifica(Utilerias.marshallcfdi32(comprobante));
		}
		
		public SellarYTimbrarRequestBuilder comprobante(Retenciones comprobante) throws ApiException{
			return codifica(Utilerias.marshallret10(comprobante));
		}
		
		public SellarYTimbrarRequestBuilder comprobante(ComprobanteNomina comprobante) throws ApiException{
			return codifica(Utilerias.marshallnom32(comprobante));
		}
		
		public SellarYTimbrarRequestBuilder usuario(String usuario) {
			this.usuario = usuario;
			return this;
		}

		public SellarYTimbrarRequestBuilder contrasena(String contrasena) {
			this.contrasena = contrasena;
			return this;
		}

		public SellarYTimbrarRequestBuilder sucursal(String sucursal) {
			this.sucursal = sucursal;
			return this;
		}

		public SellarYTimbrarRequestBuilder xml(String xml) {
			this.xml = xml;
			return this;
		}

		public SellarYTimbrarRequest build() throws ApiException {
			return new SellarYTimbrarRequest(this);
		}

		

		
	}

	private SellarYTimbrarRequest(SellarYTimbrarRequestBuilder builder) throws ApiException {
		this.usuario = builder.usuario;
		this.contrasena = builder.contrasena;
		this.sucursal = builder.sucursal;
		this.xml = builder.xml;
		Utilerias.valida(this);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy