content: package com.alimama.mdrill.index.utils;
  
  import java.io.DataInput;
  import java.io.DataOutput;
  import java.io.IOException;
  
  import org.apache.hadoop.io.Text;
  import org.apache.hadoop.io.WritableComparable;
  
  
  
  public class PairWriteable  implements WritableComparable<PairWriteable>
  {
  	
  
  	private Boolean isNum=true;
  
  	private Text uniq=new Text();
  	private Integer index=0;
  	
  	public boolean isNum() {
  		return isNum;
  	}
  
  	public Text getUniq() {
  		return uniq;
  	}
  
  	public int getIndex() {
  		return index;
  	}
  
  	public PairWriteable(Text uniq) {
  		this.isNum = false;
  		this.uniq = uniq;
  		this.index=0;
  	}
  	
  	public PairWriteable( int index) {
  		super();
  		this.isNum = true;
  		this.uniq=new Text();
  		this.index = index;
  	}
  	
  	public PairWriteable()
  	{
  	}
  	
  	
  		
  	@Override
      public void readFields(DataInput in) throws IOException {
  		this.isNum=in.readBoolean();
  		this.uniq=new Text();
  		this.index=0;
  		if(this.isNum)
  		{
  			this.index=in.readInt();
  		}else{
  			this.uniq.readFields(in);
  		}
  		
      }
  
  	@Override
      public void write(DataOutput out) throws IOException {
  		out.writeBoolean(this.isNum);
  		if(this.isNum)
  		{
  			out.writeInt(this.index);
  		}else{
  			this.uniq.write(out);
  		}
  		
      }
  
  	@Override
  	public int compareTo(PairWriteable o) {
  		int rtn=this.isNum.compareTo(o.isNum);
  		if(rtn!=0)
  		{
  			return rtn;
  		}
  		
  		if(this.isNum)
  		{
  			return this.index.compareTo(o.index);
  		}else
  		{
  			return this.uniq.compareTo(o.uniq);
  
  		}	
  	}
  }
  