1 /*
2 * Copyright 2005-2008 The Kuali Foundation
3 *
4 *
5 * Licensed under the Educational Community License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.opensource.org/licenses/ecl2.php
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.kuali.rice.kew.batch;
18
19 import java.io.IOException;
20 import java.io.InputStream;
21 import java.util.zip.ZipEntry;
22 import java.util.zip.ZipFile;
23
24 /**
25 * An XmlDoc implementation backed by a ZipEntry in a ZipFile
26 * @see org.kuali.rice.kew.batch.XmlDoc
27 * @see org.kuali.rice.kew.batch.BaseXmlDoc
28 * @see org.kuali.rice.kew.batch.ZipXmlDocCollection
29 * @author Kuali Rice Team (rice.collab@kuali.org)
30 */
31 class ZipXmlDoc extends BaseXmlDoc {
32 private ZipFile zipFile;
33 private ZipEntry zipEntry;
34 public ZipXmlDoc(ZipFile zipFile, ZipEntry zipEntry, XmlDocCollection collection) {
35 super(collection);
36 this.zipFile = zipFile;
37 this.zipEntry = zipEntry;
38 }
39 public String getName() {
40 return zipEntry.getName();
41 }
42 public InputStream getStream() throws IOException {
43 return zipFile.getInputStream(zipEntry);
44 }
45 public int hashCode() {
46 return zipEntry.hashCode();
47 }
48 public boolean equals(Object o) {
49 if (!(o instanceof ZipXmlDoc)) return false;
50 return zipEntry.equals(((ZipXmlDoc) o).zipEntry);
51 }
52 }