import java.util.*;

/**
 * This class represents a segmentation in items of video file
 * and used in known-items task programs of TREC 2001.
 * Not the entire video is represented in a segmentation, the term of segmentation
 * is used for convenience, but it's just a bunch of items of the same video
 * that need to be processed together cause result of one particular system 
 * for one particular topic.
 * 
 * @author NIST-ITL-IAD-Retrieval Group
 * This software was produced by NIST, an agency of the
 * U.S. government, and by statute is not subject to copyright in the
 * United States. Recipients of this software assume all
 * responsibilities associated with its operation, modification and
 * maintenance.
 *
 */
public class SysSegmentation extends Segmentation {

    /**
     * This is the system ID of the segmentation.
     *
     */
	private String sysId = "";
    /**
     * This is the processing type used to get the items from the video.
     * This could be I for Interactive or A for automatic porcessing. 
     * This information is kept cause it could change to a
     * more precise value in future development.
     *
     */
	private String pType = "";
    /**
     * This is the system type used to get the items from the video.
     * This normally should be K for Known-items but sometimes it is G for General Search
     * in this case this is an error. This information is kept cause it could change to a
     * more precise value in future development.
     *
     */
	private String sType = "";
    /**
     * Constructs Segmentation object with an ordering comparator for its set of items.
     *
     * @param     orderingComparator The comparator used to order transitions in the set of transitions
     * @param     sysId The system ID used to identify results.
     * @param     topicNumber The topic number of the results.
     * @param     pType The processing type of the system ("A" or "I").
     * @param     sType The system type of the system ("K" or "G").
     */
	public SysSegmentation(Comparator orderingComparator, String sysId, String topicNumber, 
						String pType, String sType){
		this.itemSet = new TreeSet(orderingComparator);
		this.sysId = sysId;
		this.topicNumber = topicNumber;
		this.pType = pType;
		this.sType = sType;
	}	
    /**
     * Gets the system ID.
     *
     * @return     System ID.
     */
	public String getSysId(){ return this.sysId; }
    /**
     * Gets the processing type.
     *
     * @return     The processing type.
     */
	public String getPType(){ return this.pType; }
    /**
     * Gets the system type.
     *
     * @return     The system type.
     */
    public String getSType(){ return this.sType; }
}
