diff options
Diffstat (limited to 'gnu/java/nio/charset/ByteCharset.java')
-rw-r--r-- | gnu/java/nio/charset/ByteCharset.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gnu/java/nio/charset/ByteCharset.java b/gnu/java/nio/charset/ByteCharset.java index 2cc91b850..da0fdcbcd 100644 --- a/gnu/java/nio/charset/ByteCharset.java +++ b/gnu/java/nio/charset/ByteCharset.java @@ -156,6 +156,22 @@ abstract class ByteCharset extends Charset } } + public boolean canEncode(char c) + { + byte b = (c < lookup.length) ? lookup[c] : 0; + return b != 0 || c == 0; + } + + public boolean canEncode(CharSequence cs) + { + for (int i = 0; i < cs.length(); ++i) + { + if (! canEncode(cs.charAt(i))) + return false; + } + return true; + } + protected CoderResult encodeLoop (CharBuffer in, ByteBuffer out) { // TODO: Optimize this in the case in.hasArray() / out.hasArray() |