class NumericTextBox extends AbstractRestrictedEntryTextBox {

    @Override
    public boolean isValidValue( String value,
                                 boolean isOnFocusLost ) {
        boolean isValid = VALID_NUMBER.test( value );
        if ( !isValid ) {
            return isValid;
        }
        if ( !isOnFocusLost && "-".equals( value ) ) {
            return true;
        }
        try {
            @SuppressWarnings("unused")
            BigDecimal check = new BigDecimal( value );
        } catch ( NumberFormatException nfe ) {
            isValid = ( "".equals( value ) && allowEmptyValue );
        }
        return isValid;
    }

    public  NumericTextBox();
    public  NumericTextBox( final boolean allowEmptyValue );

}