if (parameterMappings == null)
{
throw new NullPointerException();
}
final DataRow globalView = innerRow.getGlobalView();
final int cols = parameterMappings.length;
this.dataAttributes = new HashMap();
this.outerNames = new String[cols];
this.innerNames = outerNames;
final Object[] values = new Object[cols];
final DataSchema dataSchema = innerRow.getDataSchema();
for (int i = 0; i < cols; i++)
{
final ParameterMapping mapping = parameterMappings[i];
final String name = mapping.getAlias();
if (name == null)
{
throw new IllegalStateException("Every column must have a name.");
}
outerNames[i] = name;
values[i] = globalView.get(name);
dataAttributes.put(mapping.getName(), dataSchema.getAttributes(name));
}
setData(outerNames, values);
}