/// <summary> /// Initializes a new decoder. The new decoder will have the given /// chars-per-byte and replacement values. /// </summary> /// <param name="cs"> /// The charset that created this decoder /// </param> /// <param name="averageCharsPerByte"> /// A positive float value indicating the expected number of /// characters that will be produced for each input byte /// </param> /// <param name="maxCharsPerByte"> /// A positive float value indicating the maximum number of /// characters that will be produced for each input byte /// </param> /// <param name="replacement"> /// The initial replacement; must not be <tt>null</tt>, must have /// non-zero length, must not be longer than maxCharsPerByte, /// and must be <seealso cref="#isLegalReplacement legal"/> /// </param> /// <exception cref="IllegalArgumentException"> /// If the preconditions on the parameters do not hold </exception> private CharsetDecoder(Charset cs, float averageCharsPerByte, float maxCharsPerByte, String replacement) { this.Charset_Renamed = cs; if (averageCharsPerByte <= 0.0f) { throw new IllegalArgumentException("Non-positive " + "averageCharsPerByte"); } if (maxCharsPerByte <= 0.0f) { throw new IllegalArgumentException("Non-positive " + "maxCharsPerByte"); } if (!Charset.AtBugLevel("1.4")) { if (averageCharsPerByte > maxCharsPerByte) { throw new IllegalArgumentException("averageCharsPerByte" + " exceeds " + "maxCharsPerByte"); } } this.Replacement_Renamed = replacement; this.AverageCharsPerByte_Renamed = averageCharsPerByte; this.MaxCharsPerByte_Renamed = maxCharsPerByte; ReplaceWith(replacement); }
/// <summary> /// Initializes a new encoder. The new encoder will have the given /// bytes-per-char and replacement values. /// </summary> /// <param name="cs"> /// The charset that created this encoder /// </param> /// <param name="averageBytesPerChar"> /// A positive float value indicating the expected number of /// bytes that will be produced for each input character /// </param> /// <param name="maxBytesPerChar"> /// A positive float value indicating the maximum number of /// bytes that will be produced for each input character /// </param> /// <param name="replacement"> /// The initial replacement; must not be <tt>null</tt>, must have /// non-zero length, must not be longer than maxBytesPerChar, /// and must be <seealso cref="#isLegalReplacement legal"/> /// </param> /// <exception cref="IllegalArgumentException"> /// If the preconditions on the parameters do not hold </exception> protected internal CharsetEncoder(Charset cs, float averageBytesPerChar, float maxBytesPerChar, sbyte[] replacement) { this.Charset_Renamed = cs; if (averageBytesPerChar <= 0.0f) { throw new IllegalArgumentException("Non-positive " + "averageBytesPerChar"); } if (maxBytesPerChar <= 0.0f) { throw new IllegalArgumentException("Non-positive " + "maxBytesPerChar"); } if (!Charset.AtBugLevel("1.4")) { if (averageBytesPerChar > maxBytesPerChar) { throw new IllegalArgumentException("averageBytesPerChar" + " exceeds " + "maxBytesPerChar"); } } this.Replacement_Renamed = replacement; this.AverageBytesPerChar_Renamed = averageBytesPerChar; this.MaxBytesPerChar_Renamed = maxBytesPerChar; ReplaceWith(replacement); }