XMLDecoder Problem wegen JavaBean?

SwingTänzer

Mitglied
Hallo Leutz,

habe folgendes Problem:

Ich möchte ein Objekt
Code:
public class AppServerServiceClone implements Serializable
Mit den Attributen
Code:
  private String host;
  private int port;
  private String lookupName;
  private String appServer;
  private int serviceType;

per XML Decoder in eine Datei schreiben.

Code:
 e = new XMLEncoder( new BufferedOutputStream(
                                          new FileOutputStream("Test.xml")));
            e.writeObject(new AppServerServiceClone
("lala",212,"ffaa","string3",2,5));
            e.close();


Bekomme aber eine
Code:
java.lang.InstantiationException: serverAdmin.AppServerServiceClone
Continuing ...
java.lang.Exception: discarding statement XMLEncoder0.writeObject(AppServerServi
ceClone0);
Continuing ...

So, anscheinend liegt das ja daran, das mein Objekt nichts mit einer JavaBean zu tun hat.

Aus der API:
The XMLEncoder class is a complementary alternative to the ObjectOutputStream and can used to generate a textual representation of a JavaBean in the same way that the ObjectOutputStream can be used to create binary representation of Serializable objects

Kann mir jemand vielleicht helfen, was ich an der Klasse ändern muss, damit das mit dem XMLDecoder klappt?

Gruß
SwingTänzer
 
Hallo!

Du must eben die JavaBean konventionen einhalten:

Sprich erstell für deine privaten Membervariablen entsprechende getter und erstelle einen Parameterlosen Konstruktor!

Code:
private String host;
  private int port;
  private String lookupName;
  private String appServer;
  private int serviceType;

-------------------

public String getHost(){
   return this.host;
}

public String setHost(String h){
   this.host = h;
}

Allgemein:

accessModifier type varname;

public type getVarname(){
   return this.varname;
}

public void setVarname(type t){
    this.varname = t;
}
 
Zurück