<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import java.util.Random;



/* This class defines a referene generator that is deterministic.

 * It generates references from a reference string provided at the beginning.

 */

public class StaticReferenceGenerator extends ReferenceGenerator {

    private int referenceString[];

    private int index;

    

    /* This constructor initializes the reference string as specified.

     */

    public StaticReferenceGenerator (int numPages, int referenceString[]) {

	super(numPages);

	this.referenceString = new int[referenceString.length];

	for (int i=0; i&lt;referenceString.length; i++) {

	    this.referenceString[i] = referenceString[i];

	}

	index=0;

    }



    /* This method initializes the reference string back to the start. 

     */

    public final void init (long seed) {

	index = 0;

    }



    /* This method generates next reference from the specified string.

     */ 

    public final int nextReference () {

	index++;

	return referenceString[index-1];

    }

}

</pre></body></html>