diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-18 18:05:39 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-18 18:05:39 +0000 |
commit | 5d179ab5b1030e0a55da8403ba6e29bb54556e80 (patch) | |
tree | e0f84f3a381ccdf3acb8d44b301aac427037d9b6 | |
parent | 0a84551d12a1d4f6af5ce076f0e2acbeee0b5e83 (diff) | |
download | gcc-5d179ab5b1030e0a55da8403ba6e29bb54556e80.tar.gz |
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/17081
* java/net/URI.java (string): New field. Make all other fields
transient.
(readObject): Implemented.
(writeObject): Implemented.
(URI): Set 'string'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86197 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libjava/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/java/net/URI.java | 49 |
2 files changed, 41 insertions, 17 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 4a91794ee3e..ec269b0b495 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,14 @@ 2004-08-18 Bryce McKinlay <mckinlay@redhat.com> + PR libgcj/17081 + * java/net/URI.java (string): New field. Make all other fields + transient. + (readObject): Implemented. + (writeObject): Implemented. + (URI): Set 'string'. + +2004-08-18 Bryce McKinlay <mckinlay@redhat.com> + PR libgcj/17079 * java/util/logging/Handler.java (isLoggable): Accept record if its log level equals the threshold level. From Robin Green. diff --git a/libjava/java/net/URI.java b/libjava/java/net/URI.java index b456f71d2dd..dc95e6ecbaa 100644 --- a/libjava/java/net/URI.java +++ b/libjava/java/net/URI.java @@ -111,30 +111,44 @@ public final class URI implements Comparable, Serializable * Index of fragment component in parsed URI. */ private static final int FRAGMENT_GROUP = 10; - private String scheme; - private String rawSchemeSpecificPart; - private String schemeSpecificPart; - private String rawAuthority; - private String authority; - private String rawUserInfo; - private String userInfo; - private String rawHost; - private String host; - private int port; - private String rawPath; - private String path; - private String rawQuery; - private String query; - private String rawFragment; - private String fragment; + private transient String scheme; + private transient String rawSchemeSpecificPart; + private transient String schemeSpecificPart; + private transient String rawAuthority; + private transient String authority; + private transient String rawUserInfo; + private transient String userInfo; + private transient String rawHost; + private transient String host; + private transient int port; + private transient String rawPath; + private transient String path; + private transient String rawQuery; + private transient String query; + private transient String rawFragment; + private transient String fragment; + private String string; private void readObject(ObjectInputStream is) throws ClassNotFoundException, IOException { + this.string = (String) is.readObject(); + try + { + parseURI(this.string); + } + catch (URISyntaxException x) + { + // Should not happen. + throw new RuntimeException(x); + } } - private void writeObject(ObjectOutputStream is) throws IOException + private void writeObject(ObjectOutputStream os) throws IOException { + if (string == null) + string = toString(); + os.writeObject(string); } private static String getURIGroup(Matcher match, int group) @@ -362,6 +376,7 @@ public final class URI implements Comparable, Serializable */ public URI(String str) throws URISyntaxException { + this.string = str; parseURI(str); } |