H
hiwa
Here is a test class Foo:
import java.io.*;
public class Foo implements Serializable{
private final static String _VALUE = "value";
private String value;
public Foo newInstance(){
final Foo f = new Foo();
f.value = _VALUE;
return f;
}
public String getValue(){return value;}
public void setValue(String v){value = v;}
}
And an encoder:
import java.beans.*;
public class XmlEnc{
public static void main(String[] args){
XMLEncoder enc = new XMLEncoder(System.out);
enc.writeObject(new Foo());
enc.close();
}
}
And we get exception:
java.lang.IllegalArgumentException: object is not an instance of
declaring class
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement
XMLEncoder.writeObject(Foo);
Continuing ...
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0-ea" class="java.beans.XMLDecoder">
</java>
What I have done wrong here???
import java.io.*;
public class Foo implements Serializable{
private final static String _VALUE = "value";
private String value;
public Foo newInstance(){
final Foo f = new Foo();
f.value = _VALUE;
return f;
}
public String getValue(){return value;}
public void setValue(String v){value = v;}
}
And an encoder:
import java.beans.*;
public class XmlEnc{
public static void main(String[] args){
XMLEncoder enc = new XMLEncoder(System.out);
enc.writeObject(new Foo());
enc.close();
}
}
And we get exception:
java.lang.IllegalArgumentException: object is not an instance of
declaring class
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement
XMLEncoder.writeObject(Foo);
Continuing ...
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0-ea" class="java.beans.XMLDecoder">
</java>
What I have done wrong here???