public Object readObject()

in qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsStreamMessage.java [329:366]


    public Object readObject() throws JMSException {
        checkWriteOnlyBody();
        checkBytesInFlight();

        Object result = null;
        Object value = facade.peek();

        if (value == null) {
            result = null;
        } else if (value instanceof String) {
            result = value;
        } else if (value instanceof Float) {
            result = value;
        } else if (value instanceof Double) {
            result = value;
        } else if (value instanceof Long) {
            result = value;
        } else if (value instanceof Integer) {
            result = value;
        } else if (value instanceof Short) {
            result = value;
        } else if (value instanceof Byte) {
            result = value;
        } else if (value instanceof Boolean) {
            result = value;
        } else if (value instanceof Character) {
            result = value;
        } else if (value instanceof byte[]) {
            byte[] original = (byte[]) value;
            result = new byte[original.length];
            System.arraycopy(original, 0, result, 0, original.length);
        } else {
            throw new MessageFormatException("Unknown type found in stream");
        }

        facade.pop();
        return result;
    }