public void tightUnmarshal()

in openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/MessageMarshaller.java [44:111]


    public void tightUnmarshal(OpenWireFormat wireFormat, Object target, DataInput dataIn, BooleanStream bs) throws IOException {
        super.tightUnmarshal(wireFormat, target, dataIn, bs);

        Message info = (Message) target;
        int version = wireFormat.getVersion();

        info.beforeUnmarshall(wireFormat);
        info.setProducerId((ProducerId) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
        info.setDestination((OpenWireDestination) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
        info.setTransactionId((TransactionId) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
        info.setOriginalDestination((OpenWireDestination) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
        info.setMessageId((MessageId) tightUnmarsalNestedObject(wireFormat, dataIn, bs));
        info.setOriginalTransactionId((TransactionId) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
        info.setGroupID(tightUnmarshalString(dataIn, bs));
        info.setGroupSequence(dataIn.readInt());
        info.setCorrelationId(tightUnmarshalString(dataIn, bs));
        info.setPersistent(bs.readBoolean());
        info.setExpiration(tightUnmarshalLong(wireFormat, dataIn, bs));
        info.setPriority(dataIn.readByte());
        info.setReplyTo((OpenWireDestination) tightUnmarsalNestedObject(wireFormat, dataIn, bs));
        info.setTimestamp(tightUnmarshalLong(wireFormat, dataIn, bs));
        info.setType(tightUnmarshalString(dataIn, bs));
        info.setContent(tightUnmarshalByteSequence(dataIn, bs));
        info.setMarshalledProperties(tightUnmarshalByteSequence(dataIn, bs));
        info.setDataStructure((DataStructure) tightUnmarsalNestedObject(wireFormat, dataIn, bs));
        info.setTargetConsumerId((ConsumerId) tightUnmarsalCachedObject(wireFormat, dataIn, bs));
        info.setCompressed(bs.readBoolean());
        info.setRedeliveryCounter(dataIn.readInt());
        if (bs.readBoolean()) {
            short size = dataIn.readShort();
            BrokerId value[] = new BrokerId[size];
            for (int i = 0; i < size; i++) {
                value[i] = (BrokerId) tightUnmarsalNestedObject(wireFormat,dataIn, bs);
            }
            info.setBrokerPath(value);
        } else {
            info.setBrokerPath(null);
        }
        info.setArrival(tightUnmarshalLong(wireFormat, dataIn, bs));
        info.setUserId(tightUnmarshalString(dataIn, bs));
        info.setRecievedByDFBridge(bs.readBoolean());
        if (version >= 2) {
            info.setDroppable(bs.readBoolean());
        }
        if (version >= 3) {
            if (bs.readBoolean()) {
                short size = dataIn.readShort();
                BrokerId value[] = new BrokerId[size];
                for (int i = 0; i < size; i++) {
                    value[i] = (BrokerId) tightUnmarsalNestedObject(wireFormat,dataIn, bs);
                }
                info.setCluster(value);
            } else {
                info.setCluster(null);
            }
        }
        if (version >= 3) {
            info.setBrokerInTime(tightUnmarshalLong(wireFormat, dataIn, bs));
        }
        if (version >= 3) {
            info.setBrokerOutTime(tightUnmarshalLong(wireFormat, dataIn, bs));
        }
        if (version >= 10) {
            info.setJMSXGroupFirstForConsumer(bs.readBoolean());
        }

        info.afterUnmarshall(wireFormat);
    }