diff options
author | Hoa V. DINH <dinh.viet.hoa@gmail.com> | 2015-01-11 13:43:48 -0800 |
---|---|---|
committer | Hoa V. DINH <dinh.viet.hoa@gmail.com> | 2015-01-11 13:43:48 -0800 |
commit | 4a784c148634202e1a919fcccaaf6b77c6d3b6e4 (patch) | |
tree | d3aca1193b8ee1068a2ec814a45ea1e5c893dd30 /src/java/com/libmailcore | |
parent | d23f92585705942c70e3e4308f800ffe5f416ca9 (diff) |
Implemented java serialization
Diffstat (limited to 'src/java/com/libmailcore')
-rw-r--r-- | src/java/com/libmailcore/Address.java | 2 | ||||
-rw-r--r-- | src/java/com/libmailcore/IMAPMessage.java | 2 | ||||
-rw-r--r-- | src/java/com/libmailcore/IMAPMessagePart.java | 2 | ||||
-rw-r--r-- | src/java/com/libmailcore/IMAPMessagesRequestKind.java | 16 | ||||
-rw-r--r-- | src/java/com/libmailcore/IMAPMultipart.java | 2 | ||||
-rw-r--r-- | src/java/com/libmailcore/IMAPPart.java | 2 | ||||
-rw-r--r-- | src/java/com/libmailcore/IndexSet.java | 2 | ||||
-rw-r--r-- | src/java/com/libmailcore/MessageHeader.java | 2 | ||||
-rw-r--r-- | src/java/com/libmailcore/NativeObject.java | 26 | ||||
-rw-r--r-- | src/java/com/libmailcore/Range.java | 4 |
10 files changed, 55 insertions, 5 deletions
diff --git a/src/java/com/libmailcore/Address.java b/src/java/com/libmailcore/Address.java index 81a5386b..36f48c97 100644 --- a/src/java/com/libmailcore/Address.java +++ b/src/java/com/libmailcore/Address.java @@ -29,4 +29,6 @@ public class Address extends NativeObject { public native String nonEncodedRFC822String(); private native void setupNative(); + + private static final long serialVersionUID = 1L; } diff --git a/src/java/com/libmailcore/IMAPMessage.java b/src/java/com/libmailcore/IMAPMessage.java index 05328e79..80860afc 100644 --- a/src/java/com/libmailcore/IMAPMessage.java +++ b/src/java/com/libmailcore/IMAPMessage.java @@ -50,4 +50,6 @@ public class IMAPMessage extends AbstractMessage { { return htmlRendering(folder, dataCallback, null); } + + private static final long serialVersionUID = 1L; } diff --git a/src/java/com/libmailcore/IMAPMessagePart.java b/src/java/com/libmailcore/IMAPMessagePart.java index e6060154..50126cc4 100644 --- a/src/java/com/libmailcore/IMAPMessagePart.java +++ b/src/java/com/libmailcore/IMAPMessagePart.java @@ -3,4 +3,6 @@ package com.libmailcore; public class IMAPMessagePart extends AbstractMessagePart { public native void setPartID(String partID); public native String partID(); + + private static final long serialVersionUID = 1L; } diff --git a/src/java/com/libmailcore/IMAPMessagesRequestKind.java b/src/java/com/libmailcore/IMAPMessagesRequestKind.java new file mode 100644 index 00000000..a30f45c9 --- /dev/null +++ b/src/java/com/libmailcore/IMAPMessagesRequestKind.java @@ -0,0 +1,16 @@ +package com.libmailcore; + +public class IMAPMessagesRequestKind { + public final static int IMAPMessagesRequestKindUid = 0; + public final static int IMAPMessagesRequestKindFlags = 1 << 0; + public final static int IMAPMessagesRequestKindHeaders = 1 << 1; + public final static int IMAPMessagesRequestKindStructure = 1 << 2; + public final static int IMAPMessagesRequestKindInternalDate = 1 << 3; + public final static int IMAPMessagesRequestKindFullHeaders = 1 << 4; + public final static int IMAPMessagesRequestKindHeaderSubject = 1 << 5; + public final static int IMAPMessagesRequestKindGmailLabels = 1 << 6; + public final static int IMAPMessagesRequestKindGmailMessageID = 1 << 7; + public final static int IMAPMessagesRequestKindGmailThreadID = 1 << 8; + public final static int IMAPMessagesRequestKindExtraHeaders = 1 << 9; + public final static int IMAPMessagesRequestKindSize = 1 << 10; +} diff --git a/src/java/com/libmailcore/IMAPMultipart.java b/src/java/com/libmailcore/IMAPMultipart.java index 79819be3..5e30815e 100644 --- a/src/java/com/libmailcore/IMAPMultipart.java +++ b/src/java/com/libmailcore/IMAPMultipart.java @@ -4,4 +4,6 @@ public class IMAPMultipart extends AbstractMultipart { public native void setPartID(String partID); public native String partID(); private native void setupNative(); + + private static final long serialVersionUID = 1L; } diff --git a/src/java/com/libmailcore/IMAPPart.java b/src/java/com/libmailcore/IMAPPart.java index 753f05a0..27765f41 100644 --- a/src/java/com/libmailcore/IMAPPart.java +++ b/src/java/com/libmailcore/IMAPPart.java @@ -11,4 +11,6 @@ public class IMAPPart extends AbstractPart { public native void setEncoding(int encoding); public native int encoding(); + + private static final long serialVersionUID = 1L; } diff --git a/src/java/com/libmailcore/IndexSet.java b/src/java/com/libmailcore/IndexSet.java index ed48fdb1..78e9a84f 100644 --- a/src/java/com/libmailcore/IndexSet.java +++ b/src/java/com/libmailcore/IndexSet.java @@ -29,4 +29,6 @@ public class IndexSet extends NativeObject { public native void removeAllIndexes(); private native void setupNative(); + + private static final long serialVersionUID = 1L; } diff --git a/src/java/com/libmailcore/MessageHeader.java b/src/java/com/libmailcore/MessageHeader.java index c203a5bc..89f44694 100644 --- a/src/java/com/libmailcore/MessageHeader.java +++ b/src/java/com/libmailcore/MessageHeader.java @@ -69,4 +69,6 @@ public class MessageHeader extends NativeObject { public native MessageHeader forwardHeader(); private native void setupNative(); + + private static final long serialVersionUID = 1L; } diff --git a/src/java/com/libmailcore/NativeObject.java b/src/java/com/libmailcore/NativeObject.java index d90b7283..a1923056 100644 --- a/src/java/com/libmailcore/NativeObject.java +++ b/src/java/com/libmailcore/NativeObject.java @@ -1,8 +1,10 @@ package com.libmailcore; import java.util.Map; +import java.io.Serializable; +import java.io.IOException; -public class NativeObject implements Cloneable { +public class NativeObject implements Cloneable, Serializable { protected void finalize() throws Throwable { super.finalize(); @@ -13,12 +15,26 @@ public class NativeObject implements Cloneable { private native void unsetupNative(); public native String toString(); public native Object clone() throws CloneNotSupportedException; - - protected native Map serializable(); - public static native NativeObject objectWithSerializable(Map serializable); private long nativeHandle; - + + private static final long serialVersionUID = 1L; + + protected void writeObject(java.io.ObjectOutputStream out) throws IOException { + byte[] data = serializableData(); + out.writeInt(data.length); + out.write(data, 0, data.length); + } + + protected void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { + int len = in.readInt(); + byte[] data = new byte[len]; + in.read(data, 0, len); + } + + private native byte[] serializableData(); + private native void importSerializableData(byte[] data); + static { MainThreadUtils.singleton(); } diff --git a/src/java/com/libmailcore/Range.java b/src/java/com/libmailcore/Range.java index 3d7cb7b6..d81e9fbc 100644 --- a/src/java/com/libmailcore/Range.java +++ b/src/java/com/libmailcore/Range.java @@ -22,4 +22,8 @@ public class Range { public native String toString(); public static native Range rangeWithString(String rangeString); + + static { + MainThreadUtils.singleton(); + } }
\ No newline at end of file |