/* * Copyright (C) 2012 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.setup.ui.console; import com.intel.dcsg.cpg.validation.InputModel; import org.apache.commons.lang3.Range; /** * * @author jbuhacoff */ public class IntegerInput extends InputModel<Integer> { private final Range<Integer> range; public IntegerInput() { range = null; } public IntegerInput(Range<Integer> intRange) { this.range = intRange; } public IntegerInput(int min, int max) { this.range = Range.between(min, max); } @Override protected Integer convert(String input) { try { Integer value = Integer.valueOf(input); if( range == null ) { return value; } else { if( range.contains(value) ) { return value; } else { fault("Not in range [%d, %d]: %d", range.getMinimum(), range.getMaximum(), value); } } } catch(java.lang.NumberFormatException e) { fault(e, "Not a number: %s", input); } return null; } }