in proton-j/src/main/java/org/apache/qpid/proton/codec/EncoderImpl.java [772:817]
private void writeArrayType(Object array) {
Class<?> componentType = array.getClass().getComponentType();
if(componentType.isPrimitive())
{
if(componentType == Boolean.TYPE)
{
writeArray((boolean[])array);
}
else if(componentType == Byte.TYPE)
{
writeArray((byte[])array);
}
else if(componentType == Short.TYPE)
{
writeArray((short[])array);
}
else if(componentType == Integer.TYPE)
{
writeArray((int[])array);
}
else if(componentType == Long.TYPE)
{
writeArray((long[])array);
}
else if(componentType == Float.TYPE)
{
writeArray((float[])array);
}
else if(componentType == Double.TYPE)
{
writeArray((double[])array);
}
else if(componentType == Character.TYPE)
{
writeArray((char[])array);
}
else
{
throw new IllegalArgumentException("Cannot write arrays of type " + componentType.getName());
}
}
else
{
writeArray((Object[]) array);
}
}