public SingleVersionMethod(AmqpMethod amqpMethod, AmqpVersion amqpVersion, Generator generator) { _amqpMethod = amqpMethod; _amqpVersion = amqpVersion; _generator = generator; AmqpOrdinalVersionMap indexMap = amqpMethod.getIndexMap(); int methodId = 0; for (Entry<Integer, AmqpVersionSet> entry : indexMap.entrySet()) { if (entry.getValue().contains(_amqpVersion)) { methodId = entry.getKey(); break; } } _methodId = methodId; Collection<AmqpField> fields = _amqpMethod.getFieldMap().values(); for (AmqpField field : fields) { _fieldList.add(new SingleVersionField(field, _amqpVersion, _generator)); } Collections.sort( _fieldList, new Comparator<SingleVersionField>() { public int compare(SingleVersionField field1, SingleVersionField field2) { return field1.getPosition() - field2.getPosition(); } }); ConsolidatedField lastField = null; int bitfieldNum = 0; for (SingleVersionField field : _fieldList) { String domainType = field.getDomainType(); if (!domainType.equals("bit")) { lastField = new ConsolidatedField(_generator, field.getName(), field.getDomainType()); _consolidatedFields.add(lastField); } else if (lastField == null || !lastField.getType().equals("bitfield")) { lastField = new ConsolidatedField( _generator, domainType.equals("bit") ? "bitfield" + bitfieldNum++ : field.getName(), domainType.equals("bit") ? "bitfield" : field.getDomainType(), field.getName()); _consolidatedFields.add(lastField); } else { lastField.add(field.getName()); } _fieldNameToConsolidatedFieldMap.put(field.getName(), lastField); } }
public String getName() { return _amqpMethod.getName(); }
public boolean isClientMethod() { return _amqpMethod.isClientMethod(_amqpVersion); }
public boolean isServerMethod() { return _amqpMethod.isServerMethod(_amqpVersion); }