src/share/classes/java/nio/charset/Charset-X-Coder.java.template

Print this page

        

*** 32,41 **** --- 32,42 ---- import java.nio.CharBuffer; import java.nio.BufferOverflowException; import java.nio.BufferUnderflowException; import java.lang.ref.WeakReference; import java.nio.charset.CoderMalfunctionError; // javadoc + import java.util.Arrays; /** * An engine that can transform a sequence of $itypesPhrase$ into a sequence of * $otypesPhrase$.
*** 242,252 **** --- 243,258 ---- * * @return This $coder$'s current replacement, * which is never <tt>null</tt> and is never empty */ public final $replType$ replacement() { + #if[decoder] return replacement; + #end[decoder] + #if[encoder] + return Arrays.copyOf(replacement, replacement.$replLength$); + #end[encoder] } /** * Changes this $coder$'s replacement value. *
*** 278,293 **** int len = newReplacement.$replLength$; if (len == 0) throw new IllegalArgumentException("Empty replacement"); if (len > max$ItypesPerOtype$) throw new IllegalArgumentException("Replacement too long"); #if[encoder] if (!isLegalReplacement(newReplacement)) throw new IllegalArgumentException("Illegal replacement"); #end[encoder] ! this.replacement = newReplacement; ! implReplaceWith(newReplacement); return this; } /** * Reports a change to this $coder$'s replacement value. --- 284,302 ---- int len = newReplacement.$replLength$; if (len == 0) throw new IllegalArgumentException("Empty replacement"); if (len > max$ItypesPerOtype$) throw new IllegalArgumentException("Replacement too long"); + #if[decoder] + this.replacement = newReplacement; + #end[decoder] #if[encoder] if (!isLegalReplacement(newReplacement)) throw new IllegalArgumentException("Illegal replacement"); + this.replacement = Arrays.copyOf(newReplacement, newReplacement.$replLength$); #end[encoder] ! implReplaceWith(this.replacement); return this; } /** * Reports a change to this $coder$'s replacement value.