@Override
    public ShuffleDataModel.KValueTypeId getKValueTypeId() {
       int val = ngetKValueTypeId(this.pointerToStore);
       if (val==ShuffleDataModel.KValueTypeId.Int.state){
           return ShuffleDataModel.KValueTypeId.Int;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Long.state){
            return ShuffleDataModel.KValueTypeId.Long;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Float.state){
           return ShuffleDataModel.KValueTypeId.Float;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Double.state){
           return ShuffleDataModel.KValueTypeId.Double;
       }
       else if (val == ShuffleDataModel.KValueTypeId.String.state){
           return ShuffleDataModel.KValueTypeId.String;
       }
       else if (val == ShuffleDataModel.KValueTypeId.ByteArray.state){
           return ShuffleDataModel.KValueTypeId.ByteArray;
       }
       else if (val ==  ShuffleDataModel.KValueTypeId.Object.state){
           return ShuffleDataModel.KValueTypeId.Object;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Unknown.state) {
           throw new RuntimeException("Unknown key value type encountered");
       }
       else {
    	   throw new RuntimeException("unsupported key value type encountered");
       }
    }
@Override
    public ShuffleDataModel.KValueTypeId getKValueTypeId() {
       int val = ngetKValueTypeId(this.pointerToStore);
       if (val==ShuffleDataModel.KValueTypeId.Int.state){
           return ShuffleDataModel.KValueTypeId.Int;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Long.state){
            return ShuffleDataModel.KValueTypeId.Long;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Float.state){
           return ShuffleDataModel.KValueTypeId.Float;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Double.state){
           return ShuffleDataModel.KValueTypeId.Double;
       }
       else if (val == ShuffleDataModel.KValueTypeId.String.state){
           return ShuffleDataModel.KValueTypeId.String;
       }
       else if (val == ShuffleDataModel.KValueTypeId.ByteArray.state){
           return ShuffleDataModel.KValueTypeId.ByteArray;
       }
       else if (val ==  ShuffleDataModel.KValueTypeId.Object.state){
           return ShuffleDataModel.KValueTypeId.Object;
       }
       else if (val == ShuffleDataModel.KValueTypeId.Unknown.state) {
           throw new RuntimeException("Unknown key value type encountered");
       }
       else {
    	   throw new RuntimeException("unsupported key value type encountered");
       }
    }
@override public shuffledatamodel.kvaluetypeid getkvaluetypeid() { int val = ngetkvaluetypeid(this.pointertostore); if (val==shuffledatamodel.kvaluetypeid.int.state){ return shuffledatamodel.kvaluetypeid.int; } else if (val == shuffledatamodel.kvaluetypeid.long.state){ return shuffledatamodel.kvaluetypeid.long; } else if (val == shuffledatamodel.kvaluetypeid.float.state){ return shuffledatamodel.kvaluetypeid.float; } else if (val == shuffledatamodel.kvaluetypeid.double.state){ return shuffledatamodel.kvaluetypeid.double; } else if (val == shuffledatamodel.kvaluetypeid.string.state){ return shuffledatamodel.kvaluetypeid.string; } else if (val == shuffledatamodel.kvaluetypeid.bytearray.state){ return shuffledatamodel.kvaluetypeid.bytearray; } else if (val == shuffledatamodel.kvaluetypeid.object.state){ return shuffledatamodel.kvaluetypeid.object; } else if (val == shuffledatamodel.kvaluetypeid.unknown.state) { throw new runtimeexception("unknown key value type encountered"); } else { throw new runtimeexception("unsupported key value type encountered"); } }