Nem biztos hogy teljesen jól fogalmaztam meg a dolgokat.
Szóval azt szeretném, hogy van egy "csomagom", ami tartalmaz egy osztálydefiníciót (csomag1.java). Ezután készítek egy java programot (teszt.java), ami használja a csomagban definiált osztályt (import csomag1).
Ezután változtatok a csomag1.java fájlban, újrafordítom a csomag1-et (de a teszt.java-t nem!!!!) és az eredeti teszt.class újrafordítás nélkül a csomag1 változtatásait ismeri.
Lehet hogy egyszerűbb konkért példán keresztül:
Szóval Aru.java:
class Aru {
private String aruNev;
private int nettoAr;
[B]private static int afaKulcs=27;[/B]
public Aru(){
}
public Aru(String aruNev, int nettoAr, int afaKulcs){
this.aruNev=aruNev;
this.nettoAr=nettoAr;
this.afaKulcs=afaKulcs;
}
public String getAruNev(){
return aruNev;
}
public void setAruNev(String aruNev){
this.aruNev=aruNev;
}
public int getNettoAr(){
return nettoAr;
}
public void setNettoAr(int nettoAr){
this.nettoAr=nettoAr;
}
public float getAfaErtek(){
return nettoAr*afaKulcs/100;
}
}
Ezután megírom a király számlázó programot ami használja az Aru osztályt (Szamlaz.java) és lefordítom (Szamlaz.class). Közben megváltozik az üzleti logika és ezért a statikus adattagot átírom az új áfa értékre. Lefordítom az Aru.java-t és ezt a számlázó program újrafordítás nélkül tudja alkalmazni.
Az azért már kiderült hogy erre nem jó a csomag módszer, mert teljes újrafordítás kell.
Van erre valami módszer Java SE-ben? Vagy ehhez már valamiféle enterprise megoldás kell?