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

br.com.jhemarcos.utils.FileRequestUtils Maven / Gradle / Ivy

package br.com.jhemarcos.utils;

import java.io.InputStream;
import java.util.Scanner;

@SuppressWarnings("resource")
public final class FileRequestUtils {
	
	private static final String CPF_XML_PATH_FILE = "br/com/jhemarcos/cns/cpf_request.xml";
	private static final String CNS_XML_PATH_FILE = "br/com/jhemarcos/cns/cns_request.xml";
	private static final String NOME_XML_PATH_FILE = "br/com/jhemarcos/cns/nome_request.xml";
	private static final String NOME_MAE_XML_PATH_FILE = "br/com/jhemarcos/cns/nome_mae_request.xml";
	
	private static final String CPF_MATCH = "[[FIELD_CPF]]";
	private static final String CNS_MATCH = "[[FIELD_CNS]]";
	private static final String NOME_MATCH = "[[FIELD_NOME]]";
	private static final String NOME_MAE_MATCH = "[[FIELD_NOME_MAE]]";
	
	/**
	 * Carrega o arquivo que contém a requisição xml padrão para busca
	 * por CPF e adiciona o CPF a ser buscado
	 * @param cpf O cpf que será usado na busca
	 * @return A requisição a ser enviada com o CPF
	 */
	public static String getCPFXmlRequest(String cpf){
		InputStream file = ClassLoader.getSystemResourceAsStream(CPF_XML_PATH_FILE);
		Scanner s = new Scanner(file).useDelimiter("\\A");
		String cpfXmlRequest = s.hasNext() ? s.next() : "";
		
		return replaceMatchParam(cpfXmlRequest, CPF_MATCH, cpf);
	}
	
	/**
	 * Carrega o arquivo que contém a requisição xml padrão para busca
	 * por CNS e adiciona o CNS a ser buscado
	 * @param cns O cns que será usado na busca
	 * @return A requisição a ser enviada com o CNS
	 */
	public static String getCNSXmlRequest(String cns){
		InputStream file = ClassLoader.getSystemResourceAsStream(CNS_XML_PATH_FILE);
		Scanner s = new Scanner(file).useDelimiter("\\A");
		String cpfXmlRequest = s.hasNext() ? s.next() : "";
		
		return replaceMatchParam(cpfXmlRequest, CNS_MATCH, cns);
	}
	
	/**
	 * Carrega o arquivo que contém a requisição xml padrão para busca
	 * por nome e adiciona o nome a ser buscado
	 * @param nome O nome que será usado na busca
	 * @return A requisição a ser enviada com o nome
	 */
	public static String getNomeXmlRequest(String nome){
		InputStream file = ClassLoader.getSystemResourceAsStream(NOME_XML_PATH_FILE);
		Scanner s = new Scanner(file).useDelimiter("\\A");
		String cpfXmlRequest = s.hasNext() ? s.next() : "";
		
		return replaceMatchParam(cpfXmlRequest, NOME_MATCH, nome);
	}
	
	/**
	 * Carrega o arquivo que contém a requisição xml padrão para busca
	 * por nome da mae e adiciona o nome da mae a ser buscado
	 * @param nomeMae O nome da mae que será usado na busca
	 * @return A requisição a ser enviada com o nome da mae
	 */
	public static String getNomeMaeXmlRequest(String nomeMae){
		InputStream file = ClassLoader.getSystemResourceAsStream(NOME_MAE_XML_PATH_FILE);
		Scanner s = new Scanner(file).useDelimiter("\\A");
		String cpfXmlRequest = s.hasNext() ? s.next() : "";
		
		return replaceMatchParam(cpfXmlRequest, NOME_MAE_MATCH, nomeMae);
	}
	
	/**
	 * Substitui no texto o token pelo novo valor informado
	 * @param text O texto onde o token será buscado
	 * @param math O token a ser buscado
	 * @param replace O texto que será inserido no lugar do token
	 * @return O texto com o token substituído
	 */
	private static String replaceMatchParam(String text, String math, String replace){
		return text.replace(math, replace);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy