1 /* Copyright 2004 Elliotte Rusty Harold
2 
3    This library is free software; you can redistribute it and/or modify
4    it under the terms of version 2.1 of the GNU Lesser General Public
5    License as published by the Free Software Foundation.
6 
7    This library is distributed in the hope that it will be useful,
8    but WITHOUT ANY WARRANTY; without even the implied warranty of
9    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10    GNU Lesser General Public License for more details.
11 
12    You should have received a copy of the GNU Lesser General Public
13    License along with this library; if not, write to the
14    Free Software Foundation, Inc., 59 Temple Place, Suite 330,
15    Boston, MA 02111-1307  USA
16 
17    You can contact Elliotte Rusty Harold by sending e-mail to
18    elharo@ibiblio.org. Please include the word "XOM" in the
19    subject line. The XOM home page is located at http://www.xom.nu/
20 */
21 
22 package nu.xom;
23 
24 import java.io.Writer;
25 
26 /**
27  * <p>
28  *   Theoretically, I should be able to use a UnicodeWriter
29  *   for UCS4. However, there's an apparent bug in handling non-BMP
30  *   characters that I haven't been able to track down, so this class
31  *   works around it buy escaping all non-BMP characters.
32  * </p>
33  *
34  * @author Elliotte Rusty Harold
35  * @version 1.0
36  *
37  */
38 class UCSWriter extends TextWriter {
39 
UCSWriter(Writer out, String encoding)40     UCSWriter(Writer out, String encoding) {
41         super(out, encoding);
42     }
43 
44     /**
45      * @see nu.xom.TextWriter#needsEscaping(char)
46      */
needsEscaping(char c)47     boolean needsEscaping(char c) {
48         if (c < 0xD800) return false;
49         if (c <= 0xDFFF) return true;
50         return false;
51     }
52 
53 }
54