1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.any23.source;
19
20 import java.io.ByteArrayInputStream;
21 import java.io.IOException;
22 import java.io.InputStream;
23 import java.nio.charset.StandardCharsets;
24
25
26
27
28 public class StringDocumentSource implements DocumentSource {
29
30 private final String in;
31
32 private final String contentType;
33
34 private final String encoding;
35
36 private final String uri;
37
38 public StringDocumentSource(String in, String uri) {
39 this(in, uri, null, null);
40 }
41
42 public StringDocumentSource(String in, String uri, String contentType) {
43 this(in, uri, contentType, null);
44 }
45
46 public StringDocumentSource(String in, String uri, String contentType, String encoding) {
47 this.in = in;
48 this.uri = uri;
49 this.contentType = contentType;
50 this.encoding = encoding;
51 }
52
53 public InputStream openInputStream() throws IOException {
54 if (encoding == null) {
55 return new ByteArrayInputStream(in.getBytes(StandardCharsets.UTF_8));
56 }
57 return new ByteArrayInputStream(in.getBytes(encoding));
58 }
59
60 public long getContentLength() {
61 return in.length();
62 }
63
64 public String getDocumentIRI() {
65 return uri;
66 }
67
68 public String getContentType() {
69 return contentType;
70 }
71
72 public boolean isLocal() {
73 return true;
74 }
75
76 }