LOG.debug("Connecting to property " + propertyName + ".");
// Next,verify that there is a writable property with the same
// name as the parameter.
PropertyInfo propertyInfo =
PropertyFinder.getPropertyInfo(_component.getClass(), propertyName);
if (propertyInfo == null)
{
throw new ConnectedParameterException(
Tapestry.format(
"ParameterManager.no-accessor",
_component.getExtendedId(),
propertyName),
_component,
name,
propertyName,
binding.getLocation(),
null);
}
if (!propertyInfo.isReadWrite())
{
throw new ConnectedParameterException(
Tapestry.format(
"ParameterManager.property-not-read-write",
_component.getExtendedId(),
propertyName),
_component,
name,
propertyName,
binding.getLocation(),
null);
}
// Check if the parameter type matches the property type
Class propertyType = propertyInfo.getType();
Class parameterType = getType(pspec.getType(), resolver);
if (parameterType == null)
{
throw new ConnectedParameterException(