KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > api > engine > jasperreports > util > JarConnection


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.api.engine.jasperreports.util;
22
23 import java.io.IOException JavaDoc;
24 import java.io.InputStream JavaDoc;
25 import java.net.URL JavaDoc;
26 import java.net.URLConnection JavaDoc;
27 import java.text.SimpleDateFormat JavaDoc;
28 import java.util.Date JavaDoc;
29
30 /**
31  * @author Lucian Chirita (lucianc@users.sourceforge.net)
32  * @version $Id: JarConnection.java 3089 2006-04-14 14:13:09Z lucian $
33  */

34 public class JarConnection extends URLConnection JavaDoc {
35
36     private static SimpleDateFormat JavaDoc DATE_FORMAT = new SimpleDateFormat JavaDoc(
37             "EEE, dd MMM yyyy hh:mm:ss 'GMT'");
38
39     private final JarFileEntry entry;
40
41     public JarConnection(URL JavaDoc url, JarFileEntry entry) {
42         super(url);
43
44         this.entry = entry;
45     }
46
47     public void connect() throws IOException JavaDoc {
48         connected = true;
49     }
50
51     public InputStream JavaDoc getInputStream() throws IOException JavaDoc {
52         return entry.getInputStream();
53     }
54
55     public int getContentLength() {
56         return (int) entry.getSize();
57     }
58
59     public long getLastModified() {
60         return entry.getTime();
61     }
62
63     public String JavaDoc getHeaderField(String JavaDoc field) {
64         String JavaDoc header = null;
65         if (field.equals("content-length"))
66             header = Long.toString(entry.getSize());
67         else if (field.equals("last-modified")) {
68             synchronized (DATE_FORMAT) {
69                 header = DATE_FORMAT.format(new Date JavaDoc(entry.getTime()));
70             }
71         }
72         return header;
73     }
74 }
75
Popular Tags