import java.io.*; import java.util.*; /***************************************************************************
JSortJob
This object holds all information related to a particular sort job.
Development Environment
Compiled under JDK 1.2.0, Jini 1.0.0
***************************************************************************/ public class JSortJob { String sJobName; /* Name of job (key in JSort). */ long num_items; /* Number of records to be sorted. */ int items_pr_page; /* Number of records per page. */ int num_rpages; /* Number of real pages in memory. */ int sect_pr_page; /* Sectors per page. */ int num_vpages; /* Num of full virtual pages from 0 */ /* num_items / items_pr_page. */ int num_leftovr_items; /* Num of items in the last partial */ /* page: num_items % items_pr_page*/ byte rpage_ptr[][]; /* Addresses of page buffers in mem */ int vpage_num[]; /* Virt page nums currently in mem. */ boolean rpage_modified[]; /* Has specific page been modified? */ long curr_item; /* Num of next item to be returned. */ RandomAccessFile sortwkfile; /* File used for external sorting. */ String sortwkfilename = "sortwork"; /* Name of sort work file. */ String debugfilename = "debug"; /* Name of the debug file. */ boolean filecreated; /* Has an external file been created*/ int error; /* Stores the error code to return. */ int itemlgth; /* Length of the record to sort. */ int[] aiFieldStart; /* Sort field begin positn (0 based)*/ int[] aiFieldLength; /* Length of each field. */ int[] aiFieldOrder; /* ASCENDING or DESCENDING. */ byte[] swoppost; /* A save area durg a sort exchange.*/ byte[] savez; /* Save 1 of the 3 vars in quiksort.*/ int curr_rpage; /* The current real page. */ long msTimeOpened; /* Date/Time (ms) when job opened */ int iDebug = 0; /* Debug level, 0=off */ RandomAccessFile rafDebug; /* Debug file (if level > 0) */ /*========================================================================= The following methods are in alphabetical order =========================================================================*/ /* T O S T R I N G */ /** */ public String toString () { int i, j; String s; s = "name=" + sJobName + "\n" + "error=" + error + "\n" + "num_items=" + num_items + "\n" + "items_pr_page=" + items_pr_page + "\n" + "num_rpages=" + num_rpages + "\n" + "sect_pr_page=" + sect_pr_page + "\n" + "num_vpages=" + num_vpages + "\n" + "num_leftovr_items=" + num_leftovr_items + "\n" + "itemlgth=" + itemlgth + "\n" + "filecreated=" + filecreated + "\n" + "curr_rpage=" + curr_rpage + "\n" + "msTimeOpened=" + msTimeOpened + "\n"; if (vpage_num == null) { return (s); } for (i = 0; i < vpage_num.length; i++) { s += "rpage[" + i + "] has vpage " + vpage_num[i]; if (iDebug > 99) { s += "-->"; for (j = 0; j < rpage_ptr[i].length; j++) { s += (char) rpage_ptr[i][j]; } s += "<--\n"; } else { s += "\n"; } } return (s); } } /*==========================( End of Source )============================*/