public void setParameterMappingList(List parameterMappingList) {
    this.parameterMappings =
        (ParameterMapping[])
            parameterMappingList.toArray(new ParameterMapping[parameterMappingList.size()]);
    parameterMappingIndex.clear();
    for (int i = 0; i < parameterMappings.length; i++) {
      parameterMappingIndex.put(parameterMappings[i].getPropertyName(), new Integer(i));
    }
    Map props = new HashMap();
    props.put("map", this);

    dataExchange = delegate.getDataExchangeFactory().getDataExchangeForClass(parameterClass);
    dataExchange.initialize(props);
  }
 public CacheKey getCacheKey(StatementScope statementScope, Object parameterObject) {
   return dataExchange.getCacheKey(statementScope, this, parameterObject);
 }
 public void refreshParameterObjectValues(
     StatementScope statementScope, Object parameterObject, Object[] values) {
   dataExchange.setData(statementScope, this, parameterObject, values);
 }
 public Object[] getParameterObjectValues(StatementScope statementScope, Object parameterObject) {
   return dataExchange.getData(statementScope, this, parameterObject);
 }