public void looseUnmarshal()

in openwire-core/src/main/java/org/apache/activemq/openwire/codec/universal/ConsumerInfoMarshaller.java [231:278]


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

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

        info.setConsumerId((ConsumerId) looseUnmarsalCachedObject(wireFormat, dataIn));
        info.setBrowser(dataIn.readBoolean());
        info.setDestination((OpenWireDestination) looseUnmarsalCachedObject(wireFormat, dataIn));
        info.setPrefetchSize(dataIn.readInt());
        info.setMaximumPendingMessageLimit(dataIn.readInt());
        info.setDispatchAsync(dataIn.readBoolean());
        info.setSelector(looseUnmarshalString(dataIn));
        if (version >= 10) {
            info.setClientId(looseUnmarshalString(dataIn));
        }
        info.setSubscriptionName(looseUnmarshalString(dataIn));
        info.setNoLocal(dataIn.readBoolean());
        info.setExclusive(dataIn.readBoolean());
        info.setRetroactive(dataIn.readBoolean());
        info.setPriority(dataIn.readByte());
        if (dataIn.readBoolean()) {
            short size = dataIn.readShort();
            BrokerId value[] = new BrokerId[size];
            for (int i = 0; i < size; i++) {
                value[i] = (BrokerId) looseUnmarsalNestedObject(wireFormat,dataIn);
            }
            info.setBrokerPath(value);
        } else {
            info.setBrokerPath(null);
        }
        info.setAdditionalPredicate((Object) looseUnmarsalNestedObject(wireFormat, dataIn));
        info.setNetworkSubscription(dataIn.readBoolean());
        info.setOptimizedAcknowledge(dataIn.readBoolean());
        info.setNoRangeAcks(dataIn.readBoolean());
        if (version >= 4) {
            if (dataIn.readBoolean()) {
                short size = dataIn.readShort();
                ConsumerId value[] = new ConsumerId[size];
                for (int i = 0; i < size; i++) {
                    value[i] = (ConsumerId) looseUnmarsalNestedObject(wireFormat,dataIn);
                }
                info.setNetworkConsumerPath(value);
            } else {
                info.setNetworkConsumerPath(null);
            }
        }
    }