/[aagtl_public1]/src/net/htmlparser/jericho/CharOutputSegment.java
aagtl

Contents of /src/net/htmlparser/jericho/CharOutputSegment.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Sun Aug 5 13:48:36 2012 UTC (11 years, 7 months ago) by zoffadmin
File size: 2876 byte(s)
initial import of aagtl source code
1 // Jericho HTML Parser - Java based library for analysing and manipulating HTML
2 // Version 3.2
3 // Copyright (C) 2004-2009 Martin Jericho
4 // http://jericho.htmlparser.net/
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of either one of the following licences:
8 //
9 // 1. The Eclipse Public License (EPL) version 1.0,
10 // included in this distribution in the file licence-epl-1.0.html
11 // or available at http://www.eclipse.org/legal/epl-v10.html
12 //
13 // 2. The GNU Lesser General Public License (LGPL) version 2.1 or later,
14 // included in this distribution in the file licence-lgpl-2.1.txt
15 // or available at http://www.gnu.org/licenses/lgpl.txt
16 //
17 // This library is distributed on an "AS IS" basis,
18 // WITHOUT WARRANTY OF ANY KIND, either express or implied.
19 // See the individual licence texts for more details.
20
21 package net.htmlparser.jericho;
22
23 import java.io.*;
24
25 /**
26 * Implements an {@link OutputSegment} whose content is a single character constant.
27 * <p>
28 * This class has been removed from the public API and the functionality replaced with the
29 * {@link OutputDocument#Replace(int begin, int end, char ch)} method.
30 */
31 final class CharOutputSegment implements OutputSegment {
32 private final int begin;
33 private final int end;
34 private final char ch;
35
36 /**
37 * Constructs a new <code>CharOutputSegment</code> with the specified begin and end character positions and the specified content.
38 * @param begin the position in the {@link OutputDocument} where this <code>OutputSegment</code> begins.
39 * @param end the position in the {@link OutputDocument} where this <code>OutputSegment</code> ends.
40 * @param ch the character output of the new <code>OutputSegment</code>.
41 */
42 public CharOutputSegment(final int begin, final int end, final char ch) {
43 this.begin=begin;
44 this.end=end;
45 this.ch=ch;
46 }
47
48 /**
49 * Constructs a new <code>CharOutputSegment</code> with the same span as the specified {@link Segment}.
50 * @param segment a {@link Segment} defining the begin and end character positions of the new <code>OutputSegment</code>.
51 * @param ch the character output of the new <code>OutputSegment</code>.
52 */
53 public CharOutputSegment(final Segment segment, final char ch) {
54 begin=segment.begin;
55 end=segment.end;
56 this.ch=ch;
57 }
58
59 public int getBegin() {
60 return begin;
61 }
62
63 public int getEnd() {
64 return end;
65 }
66
67 public void writeTo(final Writer writer) throws IOException {
68 appendTo(writer);
69 }
70
71 public void appendTo(final Appendable appendable) throws IOException {
72 appendable.append(ch);
73 }
74
75 public long getEstimatedMaximumOutputLength() {
76 return 1;
77 }
78
79 public String toString() {
80 return Character.toString(ch);
81 }
82
83 public String getDebugInfo() {
84 return "Replace: (p"+begin+"-p"+end+") "+ch;
85 }
86 }

   
Visit the aagtl Website