/*
* Copyright 2016 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.rf.ide.core.testdata.model.presenter.update.variables;
import java.util.List;
import org.rf.ide.core.testdata.model.presenter.update.IVariableTableElementOperation;
import org.rf.ide.core.testdata.model.table.variables.AVariable;
import org.rf.ide.core.testdata.model.table.variables.ListVariable;
import org.rf.ide.core.testdata.text.read.recognizer.RobotToken;
public class ListVariableModelUpdater implements IVariableTableElementOperation<RobotToken> {
@Override
public boolean ableToHandle(final AVariable dst) {
return (dst instanceof ListVariable);
}
@Override
public List<RobotToken> convert(final List<?> p) {
return VariablesValueConverter.convert(p, RobotToken.class);
}
@Override
public void addOrSet(final AVariable dst, final int startIndexForModification, final List<RobotToken> toAdd) {
final ListVariable var = (ListVariable) dst;
int size = toAdd.size();
for (int i = 0; i < size; i++) {
var.addItem(toAdd.get(i), startIndexForModification + i);
}
}
}