72
73 /* the jar file corresponding to this connection */
74 private JarFile jarFile;
75
76 /* the content type for this connection */
77 private String contentType;
78
79 public JarURLConnection(URL url, Handler handler)
80 throws MalformedURLException, IOException {
81 super(url);
82
83 jarFileURL = getJarFileURL();
84 jarFileURLConnection = jarFileURL.openConnection();
85 // whether, or not, the embedded URL should use the cache will depend
86 // on this instance's cache value
87 jarFileURLConnection.setUseCaches(useCaches);
88 entryName = getEntryName();
89 }
90
91 public JarFile getJarFile() throws IOException {
92 connect();
93 return jarFile;
94 }
95
96 public JarEntry getJarEntry() throws IOException {
97 connect();
98 return jarEntry;
99 }
100
101 public Permission getPermission() throws IOException {
102 return jarFileURLConnection.getPermission();
103 }
104
105 class JarURLInputStream extends java.io.FilterInputStream {
106 JarURLInputStream (InputStream src) {
107 super (src);
108 }
109 public void close () throws IOException {
110 try {
111 super.close();
112 } finally {
113 if (!getUseCaches()) {
|
72
73 /* the jar file corresponding to this connection */
74 private JarFile jarFile;
75
76 /* the content type for this connection */
77 private String contentType;
78
79 public JarURLConnection(URL url, Handler handler)
80 throws MalformedURLException, IOException {
81 super(url);
82
83 jarFileURL = getJarFileURL();
84 jarFileURLConnection = jarFileURL.openConnection();
85 // whether, or not, the embedded URL should use the cache will depend
86 // on this instance's cache value
87 jarFileURLConnection.setUseCaches(useCaches);
88 entryName = getEntryName();
89 }
90
91 public JarFile getJarFile() throws IOException {
92 try {
93 connect();
94 return jarFile;
95 } catch (IOException e) {
96 if (jarFile != null) {
97 return jarFile;
98 } else {
99 throw e;
100 }
101 }
102 }
103
104 public JarEntry getJarEntry() throws IOException {
105 connect();
106 return jarEntry;
107 }
108
109 public Permission getPermission() throws IOException {
110 return jarFileURLConnection.getPermission();
111 }
112
113 class JarURLInputStream extends java.io.FilterInputStream {
114 JarURLInputStream (InputStream src) {
115 super (src);
116 }
117 public void close () throws IOException {
118 try {
119 super.close();
120 } finally {
121 if (!getUseCaches()) {
|