Method: Coder::Cleaner::Java#initialize

Defined in:
lib/coder/cleaner/java.rb

#initialize(encoding) ⇒ Java

Returns a new instance of Java.



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/coder/cleaner/java.rb', line 18

def initialize(encoding)
  @encoding = encoding.to_s.upcase
  @nullbyte = "\0"
  @charset  = ::Java::JavaNioCharset::Charset.for_name(encoding)
  @decoder  = @charset.new_decoder
  @decoder.on_malformed_input(::Java::JavaNioCharset::CodingErrorAction::IGNORE)
  @decoder.on_unmappable_character(::Java::JavaNioCharset::CodingErrorAction::IGNORE)
  @nullbyte.encode! encoding if @nullbyte.respond_to? :encode!
rescue ::Java::JavaNioCharset::UnsupportedCharsetException, ::Java::JavaNioCharset::IllegalCharsetNameException
  raise Coder::InvalidEncoding, "unknown encoding name - #{encoding}"
rescue ::Java::JavaLang::RuntimeException => e
  raise Coder::Error, e.message, e.backtrace
end