package org.validador.modelo.recomendacao;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jsoup.nodes.Document;
import org.validador.modelo.recomendacao.impl.RecomendacaoDepreciados;
import org.validador.modelo.recomendacao.impl.RecomendacaoForm;
import org.validador.modelo.recomendacao.impl.RecomendacaoH1;
import org.validador.modelo.recomendacao.impl.RecomendacaoImageButton;
import org.validador.modelo.recomendacao.impl.RecomendacaoImagem;
import org.validador.modelo.recomendacao.impl.RecomendacaoLang;
import org.validador.modelo.recomendacao.impl.RecomendacaoMultiH1;
import org.validador.modelo.recomendacao.impl.RecomendacaoNoscript;
import org.validador.modelo.recomendacao.impl.RecomendacaoRefresh;
import org.validador.modelo.recomendacao.impl.RecomendacaoRefreshURL;
import org.validador.modelo.recomendacao.impl.RecomendacaoTabela;
import org.validador.modelo.recomendacao.impl.RecomendacaoTabindex;
import org.validador.modelo.recomendacao.impl.RecomendacaoTarget;
import org.validador.modelo.recomendacao.impl.RecomendacaoTitulo;
public class RecomendacaoExecutor {
public Map<Recomendacao, Object> executar(Document doc) {
Map<Recomendacao, Object> map = new HashMap<Recomendacao, Object>();
List<Recomendacao> recomendacoes = new ArrayList<Recomendacao>();
recomendacoes.add(new RecomendacaoH1());
recomendacoes.add(new RecomendacaoRefresh());
recomendacoes.add(new RecomendacaoRefreshURL());
recomendacoes.add(new RecomendacaoLang());
recomendacoes.add(new RecomendacaoTitulo());
recomendacoes.add(new RecomendacaoNoscript());
recomendacoes.add(new RecomendacaoMultiH1());
recomendacoes.add(new RecomendacaoTarget());
recomendacoes.add(new RecomendacaoImagem());
recomendacoes.add(new RecomendacaoImageButton());
recomendacoes.add(new RecomendacaoForm());
recomendacoes.add(new RecomendacaoTabela());
recomendacoes.add(new RecomendacaoTabindex());
recomendacoes.add(new RecomendacaoDepreciados());
for (Recomendacao rec : recomendacoes) {
Object r = rec.executa(doc);
boolean append = true;
if (r.toString().equals(Boolean.FALSE.toString()))
append = false;
if (r.toString().equals(""))
append = false;
if (append)
map.put(rec, r.toString());
}
return map;
}
}