1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.rat.document.impl;
21
22 import java.io.ByteArrayInputStream;
23 import java.io.File;
24 import java.io.IOException;
25 import java.io.InputStream;
26 import java.io.InputStreamReader;
27 import java.io.Reader;
28
29 import org.apache.rat.api.Document;
30 import org.apache.rat.api.MetaData;
31 import org.apache.rat.api.RatException;
32
33 public class ArchiveEntryDocument implements Document {
34
35 private final byte[] contents;
36 private final String name;
37
38 private final MetaData metaData = new MetaData();
39
40 public ArchiveEntryDocument(File file, byte[] contents) throws RatException {
41 super();
42 name = DocumentImplUtils.toName(file);
43 this.contents = contents;
44 }
45
46 public MetaData getMetaData() {
47 return metaData;
48 }
49
50 public String getName() {
51 return name;
52 }
53
54 public InputStream inputStream() throws IOException {
55 return new ByteArrayInputStream(contents);
56 }
57
58 public boolean isComposite() {
59 return DocumentImplUtils.isZipStream(new ByteArrayInputStream(contents));
60 }
61
62 public Reader reader() throws IOException {
63 return new InputStreamReader(new ByteArrayInputStream(contents));
64 }
65
66
67
68
69
70
71
72 @Override
73 public String toString()
74 {
75 return "TarEntryDocument ( "
76 + "name = " + this.name + " "
77 + "metaData = " + this.metaData + " "
78 + " )";
79 }
80 }