# File lib_wpm/wpm.rb, line 2791
    def value=(new_value)
      case (@data_type)
      when 'string'
        if (new_value && new_value.empty? && ! @nonnil) then
          @value.call(nil)
        else
          @value.call(new_value)
        end
      when 'integer'
        CheckUtil.check_integer(new_value)
        @value.call(new_value.to_i)
      when 'float'
        CheckUtil.check_float(new_value)
        @value.call(new_value.to_f)
      else
        raise "internal error: #{@data_type.inspect}"
      end
    end