mx.emite.sdk.proxy.request.CorreoRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ef-sdk-java Show documentation
Show all versions of ef-sdk-java Show documentation
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
package mx.emite.sdk.proxy.request;
import java.util.ArrayList;
import java.util.List;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import lombok.Getter;
import lombok.ToString;
import mx.emite.sdk.cfdi32.anotaciones.Uuid;
import mx.emite.sdk.errores.ApiException;
import mx.emite.sdk.proxy.request.extra.CorreoParametros;
import mx.emite.sdk.proxy.request.extra.PdfParametros;
import mx.emite.sdk.utils.Utilerias;
@Getter
@ToString
public class CorreoRequest {
/**
* Usuario del Emisor
* -- SETTER --
*
* @param usuario
* Usuario del Emisor obtenido de Scot©
*
*/
@NotNull
private String usuario;
@NotNull
private String contrasena;
/**
* Nombre de la plantilla (previamente desarrollada por parte de Emite), si se deja en blanco se usa el formato genérico
*/
private String plantilla;
@NotNull @Uuid
private String uuid;
/**
* Parámetros adicionales proporcionados por emite
*/
@Valid
private List parametros;
/**
* Parámetros del envio
*/
@Valid @NotNull
private CorreoParametros correo;
/**
* Si esta variable es verdadera el servicio enviará el correo y adicionalmente regresara el XML y el PDF en Base 64
*/
@NotNull
private Boolean recuperarArchivos;
public static CorreoRequestBuilder builder() {
return new CorreoRequestBuilder();
}
public static class CorreoRequestBuilder {
private String usuario;
private String contrasena;
private String plantilla;
private String uuid;
private List parametros = new ArrayList<>();
private Boolean recuperarArchivos=false;
private CorreoParametros correo;
public CorreoRequestBuilder usuario(String usuario) {
this.usuario = usuario;
return this;
}
public CorreoRequestBuilder contrasena(String contrasena) {
this.contrasena = contrasena;
return this;
}
public CorreoRequestBuilder plantilla(String plantilla) {
this.plantilla = plantilla;
return this;
}
public CorreoRequestBuilder uuid(String uuid) {
this.uuid = uuid;
return this;
}
public CorreoRequestBuilder recuperarArchivos(Boolean recuperarArchivos) {
this.recuperarArchivos=recuperarArchivos;
return this;
}
public CorreoRequestBuilder correo(CorreoParametros correo) {
this.correo=correo;
return this;
}
public CorreoRequestBuilder parametros(List parametros) {
this.parametros.addAll(parametros);
return this;
}
public CorreoRequestBuilder parametro(PdfParametros parametro) {
this.parametros.add(parametro);
return this;
}
public CorreoRequest build() throws ApiException {
return new CorreoRequest(this);
}
}
private CorreoRequest(CorreoRequestBuilder builder) throws ApiException {
this.usuario = builder.usuario;
this.contrasena = builder.contrasena;
this.plantilla=builder.plantilla;
this.uuid=builder.uuid;
this.parametros=builder.parametros;
this.recuperarArchivos=builder.recuperarArchivos;
this.correo=builder.correo;
Utilerias.valida(this);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy