def initialize(message, pubid = nil, sysid = nil,
line = nil, column = nil, e = nil)
@publicId = nil
@systemiId = nil
@lineNumber = nil
@columnNumber = nil
if message.kind_of?(String) && pubid.kind_of?(Locator) &&
sysid.nil? && line.nil? && column.nil? && e.nil?
super(message)
@publicId = pubid.getPublicId
@systemId = pubid.getSystemId
@lineNumber = pubid.getLineNumber
@columnNumber = pubid.getColumnNumber
elsif message.kind_of?(String) && pubid.kind_of?(Locator) &&
sysid.kind_of?(Exception) && line.nil? && column.nil? && e.nil?
super(message, sysid)
@publicId = pubid.getPublicId
@systemId = pubid.getSystemId
@lineNumber = pubid.getLineNumber
@columnNumber = pubid.getColumnNumber
elsif message.kind_of?(String) && pubid.kind_of?(String) &&
sysid.kind_of?(String) && line.kind_of?(Fixnum) &&
column.kind_of?(Fixnum) && e.nil?
super(message)
@publicId = pubid
@systemId = sysid
@lineNumber = line
@columnNumber = column
elsif message.kind_of?(String) && pubid.kind_of?(String) &&
sysid.kind_of?(String) && line.kind_of?(Fixnum) &&
column.kind_of?(Fixnum) && e.kind_of?(Exception)
super(message, e)
@publicId = pubid
@systemId = sysid
@lineNumber = line
@columnNumber = column
else
raise TypeError.new("parameter error")
end
end