/** * Faz uma busca a partir do cep enviado, no site <a href="http://www.republicavirtual.com.br" * target="_blank">republicavirtual.com.br</a>, retornando o resultado em um objeto {@link * WebServiceCep}. <br> * <br> * N�o se faz necess�rio formata��es, a string pode ser enviada em qualquer formata��o, pois s� * ser�o consideradas os primeiros 8 numeros da string. <br> * Por Exemplo: <br> * Uma <tt>{@link String} "14.568-910"</tt> � automaticamente passada para <tt>"14568910"</tt>. * <br> * Uma <tt>{@link String} "1%4#5?55%16a8&910"</tt> � automaticamente passada para * <tt>"14555168"</tt>, s� levando em conta os primeiros 8 n�meros. * * @param cep N�mero do cep a ser carregado. S� ser�o considerados os primeiros 8 n�meros da * {@link String} enviada. Todos os caracters n�o num�ricos ser�o removidos, e a string ser� * truncada caso seja maior que 8 caracters. * @return {@link WebServiceCep} contendo as informa��es da pesquisa. */ public static WebServiceCep searchCep(String cep) { cep = cep.replaceAll("\\D*", ""); // To numeric digits only if (cep.length() > 8) cep = cep.substring(0, 8); WebServiceCep loadCep = new WebServiceCep(cep); try { XmlEnums enums = new XmlEnums(); for (Element e : getElements(cep)) enums.getXml(e.getQualifiedName()).setCep(e.getText(), loadCep); } catch (DocumentException ex) { if (ex.getNestedException() != null && ex.getNestedException() instanceof java.net.UnknownHostException) { loadCep.setResultText("Site não encontrado."); loadCep.setResulCode(-14); } else { loadCep.setResultText("Não foi possivel ler o documento xml."); loadCep.setResulCode(-15); } loadCep.setExceptio(ex); } catch (MalformedURLException ex) { loadCep.setExceptio(ex); loadCep.setResultText("Erro na formação da url."); loadCep.setResulCode(-16); } catch (Exception ex) { loadCep.setExceptio(ex); loadCep.setResultText("Erro inesperado."); loadCep.setResulCode(-17); } return loadCep; }
@Override public void setCep(String text, WebServiceCep webServiceCep) { webServiceCep.setResulCode(Integer.parseInt(text)); }