Most COM bridges use java.lang.Long as their Java data type for COM Currency data. This is because COM currency is a 64 bit number where the last 4 digits represent the milli-cents. We wanted to support 64 bit Long values for x64 platforms so that meant we wanted to map Java.LONG to COM.LONG even though it only works for 64 bit platforms. The end result was we needed a new representation for Money so we have this.
In the future, this should convert to and from BigDecimal or Double