// Path: rulette-core/src/main/java/com/github/kislayverma/rulette/core/ruleinput/value/IInputValue.java
// public interface IInputValue<T> {
//     String getDataType();
//     T getValue();
//     int compareTo(String obj);
//     int compareTo(IInputValue<T> obj);
//     boolean isEmpty();
// }
// 
// Path: rulette-core/src/main/java/com/github/kislayverma/rulette/core/ruleinput/value/IInputValueBuilder.java
// public interface IInputValueBuilder<T> {
//     IInputValue<T> build(String value);
// }


import com.github.kislayverma.rulette.core.ruleinput.value.IInputValue;
import com.github.kislayverma.rulette.core.ruleinput.value.IInputValueBuilder;
package com.github.kislayverma.rulette.core.ruleinput.value.defaults;


public class DefaultNumberInputBuilder implements IInputValueBuilder<Double>{

    @Override
// Path: rulette-core/src/main/java/com/github/kislayverma/rulette/core/ruleinput/value/IInputValue.java
// public interface IInputValue<T> {
//     String getDataType();
//     T getValue();
//     int compareTo(String obj);
//     int compareTo(IInputValue<T> obj);
//     boolean isEmpty();
// }
// 
// Path: rulette-core/src/main/java/com/github/kislayverma/rulette/core/ruleinput/value/IInputValueBuilder.java
// public interface IInputValueBuilder<T> {
//     IInputValue<T> build(String value);
// }


// Path: rulette-core/src/main/java/com/github/kislayverma/rulette/core/ruleinput/value/defaults/DefaultNumberInputBuilder.java
import com.github.kislayverma.rulette.core.ruleinput.value.IInputValue;
import com.github.kislayverma.rulette.core.ruleinput.value.IInputValueBuilder;

package com.github.kislayverma.rulette.core.ruleinput.value.defaults;


public class DefaultNumberInputBuilder implements IInputValueBuilder<Double>{

    @Override
    public IInputValue<Double> build(String value) {