int calculateLength() { int result = 0; for (final Field<?> field : fields.values()) { int tag = field.getField(); if (tag != BeginString.FIELD && tag != BodyLength.FIELD && tag != CheckSum.FIELD && !isGroupField(tag)) { result += field.getLength(); } } for (Entry<Integer, List<Group>> entry : groups.entrySet()) { final List<Group> groupList = entry.getValue(); if (!groupList.isEmpty()) { final IntField groupField = new IntField(entry.getKey()); groupField.setValue(groupList.size()); result += groupField.getLength(); for (final Group group : groupList) { result += group.calculateLength(); } } } return result; }
int calculateChecksum() { int result = 0; for (final Field<?> field : fields.values()) { if (field.getField() != CheckSum.FIELD && !isGroupField(field.getField())) { result += field.getChecksum(); } } for (Entry<Integer, List<Group>> entry : groups.entrySet()) { final List<Group> groupList = entry.getValue(); if (!groupList.isEmpty()) { if(IS_STRING_EQUIVALENT) { String value = NumbersCache.get(entry.getKey()); for (int i = value.length(); i-- != 0;) result += value.charAt(i); value = NumbersCache.get(groupList.size()); for (int i = value.length(); i-- != 0;) result += value.charAt(i); result += '=' + 1; } else { final IntField groupField = new IntField(entry.getKey()); groupField.setValue(groupList.size()); result += groupField.getChecksum(); } for (int i = 0; i < groupList.size(); i++) { result += groupList.get(i).calculateChecksum(); } } } return result & 0xFF; }
int calculateChecksum() { int result = 0; for (final Field<?> field : fields.values()) { if (field.getField() != CheckSum.FIELD && !isGroupField(field.getField())) { result += field.getChecksum(); } } for (Entry<Integer, List<Group>> entry : groups.entrySet()) { final List<Group> groupList = entry.getValue(); if (!groupList.isEmpty()) { if(IS_STRING_EQUIVALENT) { String value = NumbersCache.get(entry.getKey()); for (int i = value.length(); i-- != 0;) result += value.charAt(i); value = NumbersCache.get(groupList.size()); for (int i = value.length(); i-- != 0;) result += value.charAt(i); result += '=' + 1; } else { final IntField groupField = new IntField(entry.getKey()); groupField.setValue(groupList.size()); result += groupField.getChecksum(); } for (int i = 0; i < groupList.size(); i++) { result += groupList.get(i).calculateChecksum(); } } } return result & 0xFF; }
int calculateChecksum() { int result = 0; for (final Field<?> field : fields.values()) { if (field.getField() != CheckSum.FIELD && !isGroupField(field.getField())) { result += field.getChecksum(); } } for (Entry<Integer, List<Group>> entry : groups.entrySet()) { final List<Group> groupList = entry.getValue(); if (!groupList.isEmpty()) { final IntField groupField = new IntField(entry.getKey()); groupField.setValue(groupList.size()); result += groupField.getChecksum(); for (final Group group : groupList) { result += group.calculateChecksum(); } } } return result & 0xFF; }
int calculateLength() { int result = 0; for (final Field<?> field : fields.values()) { int tag = field.getField(); if (tag != BeginString.FIELD && tag != BodyLength.FIELD && tag != CheckSum.FIELD && !isGroupField(tag)) { result += field.getLength(); } } for (Entry<Integer, List<Group>> entry : groups.entrySet()) { final List<Group> groupList = entry.getValue(); if (!groupList.isEmpty()) { if(IS_STRING_EQUIVALENT) { result += getStringLength(entry.getKey()) + getStringLength(groupList.size()) + 2; } else { result += MessageUtils.length(CharsetSupport.getCharsetInstance(), NumbersCache.get(entry.getKey())); result += MessageUtils.length(CharsetSupport.getCharsetInstance(), NumbersCache.get(groupList.size())); result += 2; } for (int i = 0; i < groupList.size(); i++) { result += groupList.get(i).calculateLength(); } } } return result; }
int calculateLength() { int result = 0; for (final Field<?> field : fields.values()) { int tag = field.getField(); if (tag != BeginString.FIELD && tag != BodyLength.FIELD && tag != CheckSum.FIELD && !isGroupField(tag)) { result += field.getLength(); } } for (Entry<Integer, List<Group>> entry : groups.entrySet()) { final List<Group> groupList = entry.getValue(); if (!groupList.isEmpty()) { if(IS_STRING_EQUIVALENT) { result += getStringLength(entry.getKey()) + getStringLength(groupList.size()) + 2; } else { result += MessageUtils.length(CharsetSupport.getCharsetInstance(), NumbersCache.get(entry.getKey())); result += MessageUtils.length(CharsetSupport.getCharsetInstance(), NumbersCache.get(groupList.size())); result += 2; } for (int i = 0; i < groupList.size(); i++) { result += groupList.get(i).calculateLength(); } } } return result; }
final int tag = field.getField(); if (!isOrderedField(tag, preFields) && !isOrderedField(tag, postFields) && !isGroupField(tag)) { appendField(buffer, field); } else if (isGroupField(tag) && isOrderedField(tag, fieldOrder) && getGroupCount(tag) > 0) { appendField(buffer, field);
final int tag = field.getField(); if (!isOrderedField(tag, preFields) && !isOrderedField(tag, postFields) && !isGroupField(tag)) { appendField(buffer, field); } else if (isGroupField(tag) && isOrderedField(tag, fieldOrder) && getGroupCount(tag) > 0) { appendField(buffer, field);
final int tag = field.getField(); if (!isOrderedField(tag, preFields) && !isOrderedField(tag, postFields) && !isGroupField(tag)) { appendField(buffer, field); } else if (isGroupField(tag) && isOrderedField(tag, fieldOrder) && getGroupCount(tag) > 0) { appendField(buffer, field);