/*******************************************************************************
* Copyright (c) quickfixengine.org All rights reserved.
*
* This file is part of the QuickFIX FIX Engine
*
* This file may be distributed under the terms of the quickfixengine.org
* license as defined by quickfixengine.org and appearing in the file
* LICENSE included in the packaging of this file.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
* THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE.
*
* See http://www.quickfixengine.org/LICENSE for licensing information.
*
* Contact ask@quickfixengine.org if any conditions of this licensing
* are not clear to you.
******************************************************************************/
package quickfix;
/**
* Represents a repeating field group within a message.
*/
public class Group extends FieldMap {
private IntField field;
private int delim;
/**
* Create a group with the specified count and delimiter fields.
* @param field the count tag number
* @param delim the delimiter tag number (first group field)
*/
public Group(int field, int delim) {
this(field, delim, new int[] { delim });
}
/**
* Copy a group.
* @param group the group to copy
*/
public Group(Group group) {
this(group.getFieldTag(), group.delim(), group.getFieldOrder());
setFields(group);
setGroups(group);
}
/**
* Create a group with the specified count and delimiter fields and
* field ordering.
* @param field
* @param delim
* @param order
*/
public Group(int field, int delim, int[] order) {
super(order);
this.field = new IntField(field);
this.delim = delim;
}
/**
* @return the group delimiter tag number.
*/
public int delim() {
return delim;
}
/**
* Add a copy of the group to the message.
* @param group the group to copy
*/
public void addGroup(Group group) {
super.addGroup(group);
}
/**
* Copy the group at the specified index into the supplied group object.
* @param num the index of the group (1 based)
* @param group the target group object for the group fields (it will be cleared).sss
*/
public Group getGroup(int num, Group group) throws FieldNotFound {
return super.getGroup(num, group);
}
/**
* @return the count field tag.
*/
public int getFieldTag() {
return field.getTag();
}
/**
* @deprecated Use getFieldTag
* @return the field's tag number
*/
public int field() {
return getFieldTag();
}
}