View Javadoc

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  }