in protonj2/src/main/java/org/apache/qpid/protonj2/codec/encoders/primitives/ArrayTypeEncoder.java [41:71]
public void writeType(ProtonBuffer buffer, EncoderState state, Object value) {
if (!value.getClass().isArray()) {
throw new IllegalArgumentException("Expected Array type but got: " + value.getClass().getSimpleName());
}
Class<?> componentType = value.getClass().getComponentType();
if (componentType.isPrimitive()) {
if (componentType == Boolean.TYPE) {
writeType(buffer, state, (boolean[]) value);
} else if (componentType == Byte.TYPE) {
writeType(buffer, state, (byte[]) value);
} else if (componentType == Short.TYPE) {
writeType(buffer, state, (short[]) value);
} else if (componentType == Integer.TYPE) {
writeType(buffer, state, (int[]) value);
} else if (componentType == Long.TYPE) {
writeType(buffer, state, (long[]) value);
} else if (componentType == Float.TYPE) {
writeType(buffer, state, (float[]) value);
} else if (componentType == Double.TYPE) {
writeType(buffer, state, (double[]) value);
} else if (componentType == Character.TYPE) {
writeType(buffer, state, (char[]) value);
} else {
throw new IllegalArgumentException(
"Cannot write arrays of type " + componentType.getName());
}
} else {
writeArray(buffer, state, (Object[]) value);
}
}