ciao!

provo a spiegare quello che mi servirebbe.
ho questa classe qui:
codice:
public class AnagConti {

    private int npu;
    private int codiceCliente;
    private int codiceTmp;
    private String tipoConto;
    private String ragSoc;
    private String breve;
    private String partIva;
    private String codFiscale;
    private String via;
    private String localita;
    private String cap;
    private String provincia;
    private String nazione;
    private String ie;
 
    // GETTER AND SETTER
  
}
poi eseguo una query e riempio un ArrayList:
codice:
    public ArrayList<AnagConti> getByTipoConto(int days) throws ClassNotFoundException, SQLException, IOException {
        ArrayList<AnagConti> list = new ArrayList<>();
        ReadSql readSql = new ReadSql("anag_tipo_conto.txt");
        String header = readSql.getHeader();
        String query = readSql.getSql();
        Connection conn = DBManager.getInstance().getConnection();
        try (PreparedStatement pstmt = conn.prepareStatement(query)) {
            pstmt.setString(1, "1515");
            pstmt.setInt(2, days);
            ResultSet rs = pstmt.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getType());
                AnagConti anagConti = new AnagConti();
                anagConti.setNpu(rs.getInt("NPU"));
                anagConti.setCodiceCliente(rs.getInt("CODCLIE"));
                anagConti.setCodiceTmp(rs.getInt("TMP"));
                anagConti.setTipoConto(rs.getString("TIPOCONTO"));
                anagConti.setRagSoc(rs.getString("RAGSOC"));
                anagConti.setBreve(rs.getString("BREVE"));
                anagConti.setPartIva(rs.getString("PARTIVA"));
                anagConti.setCodFiscale(rs.getString("CODFISCALE"));
                anagConti.setVia(rs.getString("VIA"));
                anagConti.setLocalita(rs.getString("LOCALITA"));
                anagConti.setCap(rs.getString("CAP"));
                anagConti.setProvincia(rs.getString("PROVINCIA"));
                anagConti.setNazione(rs.getString("NAZIONE"));
                anagConti.setIe(rs.getString("IE"));
                list.add(anagConti);
            }
        }
        return list;
    }
come vedete vado a leggere un file con questo dentro:
codice:
NPU, CODCLIE, TMP, TIPOCONTO, RAGSOC, BREVE, PARTIVA, CODFISCALE, VIA, 
LOCALITA, CAP, PROVINCIA, NAZIONE, IE
---
SELECT 
ANAG_CONTI.NPU NPU, 
SUBSTR(ANAG_CONTI.CONTO, 5) CODCLIE, 
FN_B2B_TROVA_GEN_ATTR('XXL', ANAG_CONTI.NPU, 'CODICEWEB') TMP, 
SUBSTR(ANAG_CONTI.CONTO, 1, 4) TIPOCONTO, 
GEN_ANAG.RAGSOC RAGSOC, 
GEN_ANAG.BREVE BREVE, 
GEN_ANAG.PARTIVA PARTIVA, 
GEN_ANAG.CODFISCALE CODFISCALE, 
GEN_ANAG.VIA VIA, 
GEN_ANAG.LOCALITA LOCALITA, 
GEN_ANAG.CAP CAP, 
GEN_ANAG.PROVINCIA PROVINCIA, 
GEN_ANAG.NAZIONE NAZIONE, 
PCO.XSMPCO_ITA_EST IE 
FROM ANAG_CONTI 
INNER JOIN GEN_ANAG ON GEN_ANAG.NPU = ANAG_CONTI.NPU 
INNER JOIN XSMPCO PCO ON PCO.CONTO = ANAG_CONTI.CONTO 
WHERE ANAG_CONTI.DITAGENDA = 'XXL' AND ANAG_CONTI.FVL = ' ' AND ANAG_CONTI.TIPOCONTO = 'CL' 
AND PCO.UTENTE = 'XXL' AND PCO.TIPO = 'CL' AND PCO.LIVELLO = 4 AND PCO.ESERCIZIO = ? 
AND ( 
ANAG_CONTI.CONTO LIKE 'CL00%' OR ANAG_CONTI.CONTO LIKE 'CLAG%' OR ANAG_CONTI.CONTO LIKE 'CLDS%' OR 
ANAG_CONTI.CONTO LIKE 'CLFD%' OR ANAG_CONTI.CONTO LIKE 'CLFR%' OR ANAG_CONTI.CONTO LIKE 'CLMT%' OR 
ANAG_CONTI.CONTO LIKE 'CLST%' 
) 
AND TO_CHAR(ANAG_CONTI.TSTP_MOD, 'YYYYMMDD') BETWEEN TO_CHAR(SYSDATE - ?, 'YYYYMMDD') AND TO_CHAR(SYSDATE, 'YYYYMMDD') 
ORDER BY ANAG_CONTI.CONTO
la seconda parte è la query.
la prima parte la vorrei usare come "mapping", e vorrei usare le varie vocie al posto dei vari rs.getXXX.
il problema è che non so come indicare quando è un getInt e quando un getString.
l'unica soluzione che mi è venuta in mente è mettere tutto come String in AnagConti, ma non mi sembra corretto!
qualche idea?