annotate src/de/mpiwg/dwinter/lucencetools/analyzer/.svn/text-base/XMLFilteredReader.java.svn-base @ 0:dc7622afcfea default tip

initial
author dwinter
date Wed, 03 Nov 2010 12:33:16 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dc7622afcfea initial
dwinter
parents:
diff changeset
1 /* */ package de.mpiwg.dwinter.lucencetools.analyzer;
dc7622afcfea initial
dwinter
parents:
diff changeset
2 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
3 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
4 /* */ import java.io.IOException;
dc7622afcfea initial
dwinter
parents:
diff changeset
5 /* */ import java.io.InputStream;
dc7622afcfea initial
dwinter
parents:
diff changeset
6 /* */ import java.io.InputStreamReader;
dc7622afcfea initial
dwinter
parents:
diff changeset
7 /* */ import java.io.UnsupportedEncodingException;
dc7622afcfea initial
dwinter
parents:
diff changeset
8 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
9 /* */ public class XMLFilteredReader extends InputStreamReader
dc7622afcfea initial
dwinter
parents:
diff changeset
10 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
11 /* */ public XMLFilteredReader(InputStream in, String charsetName)
dc7622afcfea initial
dwinter
parents:
diff changeset
12 /* */ throws UnsupportedEncodingException
dc7622afcfea initial
dwinter
parents:
diff changeset
13 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
14 /* 12 */ super(in, charsetName);
dc7622afcfea initial
dwinter
parents:
diff changeset
15 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
16 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
17 /* */ public int read() throws IOException
dc7622afcfea initial
dwinter
parents:
diff changeset
18 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
19 /* 17 */ int c = super.read();
dc7622afcfea initial
dwinter
parents:
diff changeset
20 /* 18 */ if (c == -1) {
dc7622afcfea initial
dwinter
parents:
diff changeset
21 /* 19 */ return c;
dc7622afcfea initial
dwinter
parents:
diff changeset
22 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
23 /* 21 */ boolean isXML = false;
dc7622afcfea initial
dwinter
parents:
diff changeset
24 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
25 /* 23 */ if (c == 60)
dc7622afcfea initial
dwinter
parents:
diff changeset
26 /* 24 */ isXML = true;
dc7622afcfea initial
dwinter
parents:
diff changeset
27 /* 25 */ while (isXML) {
dc7622afcfea initial
dwinter
parents:
diff changeset
28 /* 26 */ c = super.read();
dc7622afcfea initial
dwinter
parents:
diff changeset
29 /* 27 */ if (c == -1)
dc7622afcfea initial
dwinter
parents:
diff changeset
30 /* 28 */ return c;
dc7622afcfea initial
dwinter
parents:
diff changeset
31 /* 29 */ if (c == 62) {
dc7622afcfea initial
dwinter
parents:
diff changeset
32 /* 30 */ isXML = false;
dc7622afcfea initial
dwinter
parents:
diff changeset
33 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
34 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
35 /* 33 */ return super.read();
dc7622afcfea initial
dwinter
parents:
diff changeset
36 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
37 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
38 /* */ public int read(char[] cbuf, int offset, int length) throws IOException
dc7622afcfea initial
dwinter
parents:
diff changeset
39 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
40 /* 38 */ char[] cbuf2 = new char[cbuf.length];
dc7622afcfea initial
dwinter
parents:
diff changeset
41 /* 39 */ int i = 0;
dc7622afcfea initial
dwinter
parents:
diff changeset
42 /* 40 */ int retLen = super.read(cbuf2, offset, length);
dc7622afcfea initial
dwinter
parents:
diff changeset
43 /* 41 */ if (retLen <= 0) {
dc7622afcfea initial
dwinter
parents:
diff changeset
44 /* 42 */ cbuf = (char[])cbuf2.clone();
dc7622afcfea initial
dwinter
parents:
diff changeset
45 /* 43 */ return retLen;
dc7622afcfea initial
dwinter
parents:
diff changeset
46 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
47 /* 45 */ boolean isXML = false;
dc7622afcfea initial
dwinter
parents:
diff changeset
48 /* 46 */ for (char c : cbuf2) {
dc7622afcfea initial
dwinter
parents:
diff changeset
49 /* 47 */ if (c == '<') {
dc7622afcfea initial
dwinter
parents:
diff changeset
50 /* 48 */ isXML = true;
dc7622afcfea initial
dwinter
parents:
diff changeset
51 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
52 /* 50 */ //if (c == '\0/7') {
dc7622afcfea initial
dwinter
parents:
diff changeset
53 /* */ // break;
dc7622afcfea initial
dwinter
parents:
diff changeset
54 /* */ //}
dc7622afcfea initial
dwinter
parents:
diff changeset
55 /* 53 */ if (!isXML) {
dc7622afcfea initial
dwinter
parents:
diff changeset
56 /* 54 */ cbuf[i] = c;
dc7622afcfea initial
dwinter
parents:
diff changeset
57 /* 55 */ ++i;
dc7622afcfea initial
dwinter
parents:
diff changeset
58 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
59 /* 57 */ if (c == '>') {
dc7622afcfea initial
dwinter
parents:
diff changeset
60 /* 58 */ isXML = false;
dc7622afcfea initial
dwinter
parents:
diff changeset
61 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
62 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
63 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
64 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
65 /* 63 */ return i;
dc7622afcfea initial
dwinter
parents:
diff changeset
66 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
67 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
68
dc7622afcfea initial
dwinter
parents:
diff changeset
69 /* Location: /private/tmp/fulltextIndexer.jar
dc7622afcfea initial
dwinter
parents:
diff changeset
70 * Qualified Name: de.mpiwg.dwinter.lucencetools.analyzer.XMLFilteredReader
dc7622afcfea initial
dwinter
parents:
diff changeset
71 * JD-Core Version: 0.5.4
dc7622afcfea initial
dwinter
parents:
diff changeset
72 */