01: /*
02: * Copyright 2005-2006 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.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 edu.iu.uis.eden.batch;
18:
19: import java.io.File;
20: import java.io.FileInputStream;
21: import java.io.IOException;
22: import java.io.InputStream;
23:
24: /**
25: * An XmlDoc implementation backed by a physical XML File
26: * @see edu.iu.uis.eden.batch.XmlDoc
27: * @see edu.iu.uis.eden.batch.BaseXmlDoc
28: * @see edu.iu.uis.eden.batch.FileXmlDocCollection
29: * @see edu.iu.uis.eden.batch.DirectoryXmlDocCollection
30: * @author Aaron Hamid (arh14 at cornell dot edu)
31: */
32: class FileXmlDoc extends BaseXmlDoc {
33: private File file;
34: private String name;
35:
36: public FileXmlDoc(File file, XmlDocCollection collection) {
37: this (file, file.getName(), collection);
38: this .file = file;
39: }
40:
41: public FileXmlDoc(File file, String name,
42: XmlDocCollection collection) {
43: super (collection);
44: this .file = file;
45: this .name = name;
46: }
47:
48: public String getName() {
49: return name;
50: }
51:
52: public InputStream getStream() throws IOException {
53: return new FileInputStream(file);
54: }
55:
56: public int hashCode() {
57: return file.hashCode();
58: }
59:
60: public boolean equals(Object o) {
61: if (!(o instanceof FileXmlDoc))
62: return false;
63: return file.equals(((FileXmlDoc) o).file);
64: }
65: }
|