package test.json.jackson; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import java.io.Serializable; public class User implements Serializable, Externalizable { /** * */ private static final long serialVersionUID = -6396718760677539514L; public enum Gender { MALE, FEMALE }; public static class Name implements Serializable, Externalizable { /** * */ private static final long serialVersionUID = -8337487907876073777L; private String _first, _last; public String getFirst() { return _first; } public String getLast() { return _last; } public void setFirst(String s) { _first = s; } public void setLast(String s) { _last = s; } public void writeExternal(ObjectOutput out) throws IOException { out.writeUTF(_first); out.writeUTF(_last); } public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { _first = in.readUTF(); _last = in.readUTF(); } } private Gender _gender; private Name _name; private boolean _isVerified; private byte[] _userImage; public Name getName() { return _name; } public boolean isVerified() { return _isVerified; } public Gender getGender() { return _gender; } public byte[] getUserImage() { return _userImage; } public void setName(Name n) { _name = n; } public void setVerified(boolean b) { _isVerified = b; } public void setGender(Gender g) { _gender = g; } public void setUserImage(byte[] b) { _userImage = b; } public void writeExternal(ObjectOutput out) throws IOException { out.writeInt(_gender.ordinal()); _name.writeExternal(out); out.writeBoolean(_isVerified); out.writeInt(_userImage.length); out.write(_userImage); } public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { // _gender=Gender. in.readInt(); // _name = new Name(); // _name.readExternal(in); // _isVerified = in.readBoolean(); // int length = in.readInt(); // _userImage = new byte[length]; // in.read(_userImage); } }