getGenericValue<V> method

V getGenericValue<V>(
  1. String key, {
  2. Object? converterParameter,
})

Returns the value for a binding.

This uses the key that was set up with the binding. Additionally a converterParameter can be passed that will be send to a value converter if supplied with the binding. Generic T is the type to be returned.

Implementation

V getGenericValue<V>(String key, {Object? converterParameter}) {
  V returnValue;
  Binding binding = _getBinding(key);
  if (binding.bindingDirection == BindingDirection.OneTime &&
      !(binding.originalValue is _OriginalValueNeverSet)) {
    returnValue = binding.originalValue as V;
  } else if (binding.valueConverter == null) {
    returnValue = binding.source.getGenericValue<V>(binding.sourceProperty);
  } else {
    returnValue = binding.valueConverter!.convert(
        binding.source, binding.source.getValue(binding.sourceProperty),
        parameter: converterParameter) as V;
  }

  if (binding.originalValue is _OriginalValueNeverSet &&
      binding.bindingDirection == BindingDirection.OneTime) {
    binding.originalValue = returnValue;
  }
  return returnValue;
}