CharToByteUnicode.java revision 2116
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * Copyright 1996-2002 Sun Microsystems, Inc. All Rights Reserved.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * This code is free software; you can redistribute it and/or modify it
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * under the terms of the GNU General Public License version 2 only, as
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * published by the Free Software Foundation. Sun designates this
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * particular file as subject to the "Classpath" exception as provided
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * by Sun in the LICENSE file that accompanied this code.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * This code is distributed in the hope that it will be useful, but WITHOUT
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * version 2 for more details (a copy is included in the LICENSE file that
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * accompanied this code).
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * You should have received a copy of the GNU General Public License version
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * 2 along with this work; if not, write to the Free Software Foundation,
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * CA 95054 USA or visit www.sun.com if you need additional information or
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * have any questions.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * Convert arrays containing Unicode characters into arrays of bytes, using the
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * platform-default byte order.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee * @author Mark Reinhold
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeepublic class CharToByteUnicode extends CharToByteConverter {
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee protected boolean usesMark = true; /* A mark should be written */
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee private boolean markWritten = false; /* A mark has been written */
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee String enc = java.security.AccessController.doPrivileged(
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee new sun.security.action.GetPropertyAction("sun.io.unicode.encoding",
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee "UnicodeBig"));
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee public CharToByteUnicode(int byteOrder, boolean usesMark) {
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee return usesMark ? "UnicodeBig" : "UnicodeBigUnmarked";
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee return usesMark ? "UnicodeLittle" : "UnicodeLittleUnmarked";
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee return "UnicodeUnknown";
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee throws ConversionBufferFullException, MalformedInputException
markWritten = true;
throw new ConversionBufferFullException();
throw new ConversionBufferFullException();
public void reset () {
markWritten = false;
public int getMaxBytesPerChar() {