// Carnegie Mellon University
//   Information Networking Institute and
//   School of Computer Science
//
// Master Thesis: A Monitoring Tool for Overlay Network
// By: TungFai Chan and Annie Cheng
//
// File: LeafNodeRecord.java
// Path: eventbase/btree
// Description: Defines the records in leaf nodes

package eventbase.btree;

public class LeafNodeRecord extends TreeNodeRecord{

  private double key;
  private int pageNumber;
  private int recordID;

  public LeafNodeRecord() {
    key = -1;
    pageNumber = -1;
    recordID = -1;
  }

  public LeafNodeRecord(double k, int pgno, int recID) {
    key = k;
    pageNumber = pgno;
    recordID = recID;
  }

  public double getKey() {
    return key;
  }

  public int getPageNumber () {
    return pageNumber;
  }

  public int getRecordID () {
    return recordID;
  }

  public boolean isEmpty() {
    return (pageNumber == -1 && recordID == -1);
  }

  public void copy(TreeNodeRecord r) {
    this.key = r.getKey();
    this.pageNumber = ((LeafNodeRecord)r).getPageNumber();
    this.recordID = ((LeafNodeRecord)r).getRecordID();
  }

  public void clearRecord() {
    this.key = -1;
    this.pageNumber = -1;
    this.recordID = -1;
  }

  public void print() {
    System.out.println("(" +  key + " " + pageNumber + " " + recordID + ")");
  }
}