public int read()

in client/src/main/java/org/apache/qpid/framing/BasicContentHeaderProperties.java [322:457]


    public int read(ByteBuffer input)
    {

        _propertyFlags = ByteBufferUtils.getUnsignedShort(input);
        int length = 2;
        if ((_propertyFlags & (CONTENT_TYPE_MASK)) != 0)
        {
            length++;
            _contentType = AMQShortString.readAMQShortString(input);
            if(_contentType != null)
            {
                length += _contentType.length();
            }
        }

        if ((_propertyFlags & ENCODING_MASK) != 0)
        {
            length++;
            _encoding = AMQShortString.readAMQShortString(input);
            if(_encoding != null)
            {
                length += _encoding.length();
            }
        }

        if ((_propertyFlags & HEADERS_MASK) != 0)
        {
            int fieldTableLength = input.getInt();

            _headers = new FieldTable(input, fieldTableLength);

            length += 4;
            length += fieldTableLength;
        }

        if ((_propertyFlags & DELIVERY_MODE_MASK) != 0)
        {
            _deliveryMode = input.get();
            length++;
        }

        if ((_propertyFlags & PRIORITY_MASK) != 0)
        {
            _priority = input.get();
            length++;
        }

        if ((_propertyFlags & CORRELATION_ID_MASK) != 0)
        {
            length++;
            _correlationId = AMQShortString.readAMQShortString(input);
            if(_correlationId != null)
            {
                length += _correlationId.length();
            }
        }

        if ((_propertyFlags & REPLY_TO_MASK) != 0)
        {
            length++;
            _replyTo = AMQShortString.readAMQShortString(input);
            if(_replyTo != null)
            {
                length += _replyTo.length();
            }
        }

        if ((_propertyFlags & EXPIRATION_MASK) != 0)
        {
            length++;
            AMQShortString expiration = AMQShortString.readAMQShortString(input);
            if(expiration != null)
            {
                length += expiration.length();
                _expiration = Long.parseLong(expiration.toString());
            }
        }

        if ((_propertyFlags & MESSAGE_ID_MASK) != 0)
        {
            length++;
            _messageId = AMQShortString.readAMQShortString(input);
            if(_messageId != null)
            {
                length += _messageId.length();
            }
        }

        if ((_propertyFlags & TIMESTAMP_MASK) != 0)
        {
            _timestamp = input.getLong();
            length += 8;
        }

        if ((_propertyFlags & TYPE_MASK) != 0)
        {
            length++;
            _type = AMQShortString.readAMQShortString(input);
            if(_type != null)
            {
                length += _type.length();
            }
        }

        if ((_propertyFlags & USER_ID_MASK) != 0)
        {
            length++;
            _userId = AMQShortString.readAMQShortString(input);
            if(_userId != null)
            {
                length += _userId.length();
            }
        }

        if ((_propertyFlags & APPLICATION_ID_MASK) != 0)
        {
            length++;
            _appId = AMQShortString.readAMQShortString(input);
            if(_appId != null)
            {
                length += _appId.length();
            }
        }

        if ((_propertyFlags & CLUSTER_ID_MASK) != 0)
        {
            length++;
            _clusterId = AMQShortString.readAMQShortString(input);
            if(_clusterId != null)
            {
                length += _clusterId.length();
            }
        }

        return length;
    }