1 18 19 package org.apache.activemq.openwire.v2; 20 21 import java.io.DataInput ; 22 import java.io.DataOutput ; 23 import java.io.IOException ; 24 25 import org.apache.activemq.openwire.*; 26 import org.apache.activemq.command.*; 27 28 29 30 41 public class BrokerInfoMarshaller extends BaseCommandMarshaller { 42 43 47 public byte getDataStructureType() { 48 return BrokerInfo.DATA_STRUCTURE_TYPE; 49 } 50 51 54 public DataStructure createObject() { 55 return new BrokerInfo(); 56 } 57 58 65 public void tightUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn, BooleanStream bs) throws IOException { 66 super.tightUnmarshal(wireFormat, o, dataIn, bs); 67 68 BrokerInfo info = (BrokerInfo)o; 69 info.setBrokerId((org.apache.activemq.command.BrokerId) tightUnmarsalCachedObject(wireFormat, dataIn, bs)); 70 info.setBrokerURL(tightUnmarshalString(dataIn, bs)); 71 72 if (bs.readBoolean()) { 73 short size = dataIn.readShort(); 74 org.apache.activemq.command.BrokerInfo value[] = new org.apache.activemq.command.BrokerInfo[size]; 75 for( int i=0; i < size; i++ ) { 76 value[i] = (org.apache.activemq.command.BrokerInfo) tightUnmarsalNestedObject(wireFormat,dataIn, bs); 77 } 78 info.setPeerBrokerInfos(value); 79 } 80 else { 81 info.setPeerBrokerInfos(null); 82 } 83 info.setBrokerName(tightUnmarshalString(dataIn, bs)); 84 info.setSlaveBroker(bs.readBoolean()); 85 info.setMasterBroker(bs.readBoolean()); 86 info.setFaultTolerantConfiguration(bs.readBoolean()); 87 info.setDuplexConnection(bs.readBoolean()); 88 info.setNetworkConnection(bs.readBoolean()); 89 info.setConnectionId(tightUnmarshalLong(wireFormat, dataIn, bs)); 90 91 } 92 93 94 97 public int tightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) throws IOException { 98 99 BrokerInfo info = (BrokerInfo)o; 100 101 int rc = super.tightMarshal1(wireFormat, o, bs); 102 rc += tightMarshalCachedObject1(wireFormat, (DataStructure)info.getBrokerId(), bs); 103 rc += tightMarshalString1(info.getBrokerURL(), bs); 104 rc += tightMarshalObjectArray1(wireFormat, info.getPeerBrokerInfos(), bs); 105 rc += tightMarshalString1(info.getBrokerName(), bs); 106 bs.writeBoolean(info.isSlaveBroker()); 107 bs.writeBoolean(info.isMasterBroker()); 108 bs.writeBoolean(info.isFaultTolerantConfiguration()); 109 bs.writeBoolean(info.isDuplexConnection()); 110 bs.writeBoolean(info.isNetworkConnection()); 111 rc+=tightMarshalLong1(wireFormat, info.getConnectionId(), bs); 112 113 return rc + 0; 114 } 115 116 123 public void tightMarshal2(OpenWireFormat wireFormat, Object o, DataOutput dataOut, BooleanStream bs) throws IOException { 124 super.tightMarshal2(wireFormat, o, dataOut, bs); 125 126 BrokerInfo info = (BrokerInfo)o; 127 tightMarshalCachedObject2(wireFormat, (DataStructure)info.getBrokerId(), dataOut, bs); 128 tightMarshalString2(info.getBrokerURL(), dataOut, bs); 129 tightMarshalObjectArray2(wireFormat, info.getPeerBrokerInfos(), dataOut, bs); 130 tightMarshalString2(info.getBrokerName(), dataOut, bs); 131 bs.readBoolean(); 132 bs.readBoolean(); 133 bs.readBoolean(); 134 bs.readBoolean(); 135 bs.readBoolean(); 136 tightMarshalLong2(wireFormat, info.getConnectionId(), dataOut, bs); 137 138 } 139 140 147 public void looseUnmarshal(OpenWireFormat wireFormat, Object o, DataInput dataIn) throws IOException { 148 super.looseUnmarshal(wireFormat, o, dataIn); 149 150 BrokerInfo info = (BrokerInfo)o; 151 info.setBrokerId((org.apache.activemq.command.BrokerId) looseUnmarsalCachedObject(wireFormat, dataIn)); 152 info.setBrokerURL(looseUnmarshalString(dataIn)); 153 154 if (dataIn.readBoolean()) { 155 short size = dataIn.readShort(); 156 org.apache.activemq.command.BrokerInfo value[] = new org.apache.activemq.command.BrokerInfo[size]; 157 for( int i=0; i < size; i++ ) { 158 value[i] = (org.apache.activemq.command.BrokerInfo) looseUnmarsalNestedObject(wireFormat,dataIn); 159 } 160 info.setPeerBrokerInfos(value); 161 } 162 else { 163 info.setPeerBrokerInfos(null); 164 } 165 info.setBrokerName(looseUnmarshalString(dataIn)); 166 info.setSlaveBroker(dataIn.readBoolean()); 167 info.setMasterBroker(dataIn.readBoolean()); 168 info.setFaultTolerantConfiguration(dataIn.readBoolean()); 169 info.setDuplexConnection(dataIn.readBoolean()); 170 info.setNetworkConnection(dataIn.readBoolean()); 171 info.setConnectionId(looseUnmarshalLong(wireFormat, dataIn)); 172 173 } 174 175 176 179 public void looseMarshal(OpenWireFormat wireFormat, Object o, DataOutput dataOut) throws IOException { 180 181 BrokerInfo info = (BrokerInfo)o; 182 183 super.looseMarshal(wireFormat, o, dataOut); 184 looseMarshalCachedObject(wireFormat, (DataStructure)info.getBrokerId(), dataOut); 185 looseMarshalString(info.getBrokerURL(), dataOut); 186 looseMarshalObjectArray(wireFormat, info.getPeerBrokerInfos(), dataOut); 187 looseMarshalString(info.getBrokerName(), dataOut); 188 dataOut.writeBoolean(info.isSlaveBroker()); 189 dataOut.writeBoolean(info.isMasterBroker()); 190 dataOut.writeBoolean(info.isFaultTolerantConfiguration()); 191 dataOut.writeBoolean(info.isDuplexConnection()); 192 dataOut.writeBoolean(info.isNetworkConnection()); 193 looseMarshalLong(wireFormat, info.getConnectionId(), dataOut); 194 195 } 196 } 197 | Popular Tags |