|
|||||||||||||||||||
Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
WriterTextReceiver.java | - | 0% | 0% | 0% |
|
1 | /* | |
2 | * Copyright (c) 2001-2004, | |
3 | * RedVerst Group, ISP RAS http://www.ispras.ru | |
4 | * All rights reserved. | |
5 | * | |
6 | * Redistribution and use in source and binary forms, with or without | |
7 | * modification, are permitted provided that the following conditions are met: | |
8 | * | |
9 | * 1. Redistributions of source code must retain the above copyright notice, this | |
10 | * list of conditions and the following disclaimer. | |
11 | * | |
12 | * 2. Redistributions in binary form must reproduce the above copyright notice, | |
13 | * this list of conditions and the following disclaimer in the documentation | |
14 | * and/or other materials provided with the distribution. | |
15 | * | |
16 | * 3. The names "ATP", "TreeDL", "RedVerst", "ISP RAS" | |
17 | * may not be used to endorse or promote products derived from this software | |
18 | * without specific prior written permission. | |
19 | * | |
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | |
21 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
22 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
23 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR | |
24 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
25 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
26 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | |
27 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
28 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
29 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
30 | */ | |
31 | ||
32 | package com.unitesk.atp.text.filters; | |
33 | ||
34 | import java.io.IOException; | |
35 | import java.io.Writer; | |
36 | ||
37 | /** | |
38 | * {@link TextReceiver Text receiver} that prints text to {@link Writer} | |
39 | * | |
40 | * @author <A href="mailto:demakov@ispras.ru">Alexey Demakov</A> | |
41 | * @version $Id: WriterTextReceiver.java,v 1.2 2004/10/11 15:00:42 all-x Exp $ | |
42 | */ | |
43 | public class WriterTextReceiver implements TextReceiver | |
44 | { | |
45 | /** | |
46 | * Constructs text receiver with the specified Writer and {@link ExceptionHandler}. | |
47 | * | |
48 | * @param writer The client to write to. | |
49 | * @param exceptionHandler | |
50 | * The exception handler. | |
51 | */ | |
52 | 0 | public WriterTextReceiver( Writer writer |
53 | , ExceptionHandler exceptionHandler | |
54 | ) | |
55 | { | |
56 | 0 | this.writer = writer; |
57 | 0 | this.exceptionHandler = exceptionHandler; |
58 | } | |
59 | ||
60 | /** | |
61 | * Close underlying {@link Writer} | |
62 | */ | |
63 | 0 | public void close() |
64 | { | |
65 | 0 | try |
66 | { | |
67 | 0 | writer.close(); |
68 | } | |
69 | catch( IOException e ) | |
70 | { | |
71 | 0 | exceptionHandler.process( e ); |
72 | } | |
73 | } | |
74 | ||
75 | //-------------------------------------------------------------------------- | |
76 | // interface TextReceiver | |
77 | ||
78 | /** | |
79 | * Passes the specified string to the underlying {@link Writer} | |
80 | * | |
81 | * @param s The string to write. | |
82 | */ | |
83 | 0 | public void txt( String s ) |
84 | { | |
85 | 0 | try |
86 | { | |
87 | 0 | writer.write( s ); |
88 | } | |
89 | catch( IOException e ) | |
90 | { | |
91 | 0 | exceptionHandler.process( e ); |
92 | } | |
93 | } | |
94 | ||
95 | /** | |
96 | * Passes a line separator to underlying {@link Writer} | |
97 | */ | |
98 | 0 | public void nl() |
99 | { | |
100 | 0 | try |
101 | { | |
102 | 0 | writer.write( endl ); |
103 | } | |
104 | catch( IOException e ) | |
105 | { | |
106 | 0 | exceptionHandler.process( e ); |
107 | } | |
108 | } | |
109 | ||
110 | //-------------------------------------------------------------------------- | |
111 | // implementation | |
112 | ||
113 | private Writer writer; | |
114 | private ExceptionHandler exceptionHandler; | |
115 | private static final String endl = System.getProperty( "line.separator" ); | |
116 | } |
|