Witam.
Ostatnio z całych sił próbuję znaleźć rozwiązanie takie oto problemu.
Załóżmy że mam bardzo wiele klas.
W każdej klasie jest inny konstruktor który przyjmuje odmienne parametry.
W innej klasie programu jest metoda która tworzy obiekty poszczególnych klas (każda klasa jest encją i w tej metodzie tworzone są obiekty klasy które odzwierciedlają kolumny tabeli).
Czy jest sposób aby proces tworzenia tych obiektów nieco zautomatyzować?
createConnection(); //metoda odpowiedzialna za utworzenie połączenia
Statement stmt = null;
String query = "Select * From Tab1" //tu dla przykłady Tab1, oczywiście z tą nazwą nie byłoby problemu bo można stworzyć tablicę z nazwami wszystkich tabel na których pracuję....
stmt = conn.createStatement();
ResultSet rset =stmt.executeQuery(query);
while (rset.next()) //tutaj wyciągane są wartości, które chciałbym aby posłużyły do utworzenia obiektu klasy NazwaKlasy
{
int zm1=rset.getInt("kol1);
int zm2=rset.getInt("kol2);
int zm2=rset.getInt("kol3);
//itd. liczba kolumn jest zmienna, wiem że liczbę kolumn też bez problemu można odczytać choćby z meta.getColumns(null,null,"Tab1",null); to opakować w pętlę while() i iterowalibyśmy po poszczególnych kolumnach. Ale jak to "wprowadzić" do parametrów??
NazwaKlasy klasa = new NazwaKlasy(zm1, zm2, zm3); //to najważniejsza część programu czyli tworzenie obiektów klasy NazwaKlasa na podstawie wartości parametrów uzyskanych z bazy danych.
InnaKlasa.add(klasa); //tutaj wywoływana jest metoda dodająca elementy klasy NazwaKlasy do listy<NazwaKlasy>
}
Czyli podsumowując: szukam możliwości odczytania nazw parametrów z konstruktora każdej z klasy i wstawienia tych danych jako parametry, a przy tym aby wartością tych paramentów były dane odczytane z tabeli tak jak to jest we fragmencie kodu zamieszczonym powyżej.
Mam nadzieję że "takie rzeczy są nie tylko w Erze" ;-)
Gdybym miał pięć tabel to bym się nie zastanawiał tylko napisał "z palca" kod, jednak przy pięćdziesięciu paru tabelach to będzie "nieco" pracochłonne.
Z góry dziękuje za wszelkie pomysły!