public void writeType()

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);
        }
    }