When using J/Link, how can we create an array out of objects belonging to different classes but having the same base class?
Here's an example:
partSource =
JLink`JavaNew[
"org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource", "mmagraphics.png",
JLink`MakeJavaObject["abcdefg"]@toCharArray[]];
part1 = JLink`JavaNew[
"org.apache.commons.httpclient.methods.multipart.FilePart",
"filename", partSource];
part2 = JLink`JavaNew[
"org.apache.commons.httpclient.methods.multipart.StringPart",
"someting", "1234"];
MakeJavaObject[{part1, part2}]
Java::excptn: A Java exception occurred: java.lang.IllegalArgumentException: array element type mismatch at java.lang.reflect.Array.set(Native Method).
I need to create a Part []
out of {part1, part2}
so that I can pass it to the constructor of org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity