/*
* 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.text.write.tables;
import java.util.ArrayList;
import java.util.List;
import org.rf.ide.core.testdata.model.ModelType;
import org.rf.ide.core.testdata.model.table.ARobotSectionTable;
import org.rf.ide.core.testdata.model.table.TableHeader;
import org.rf.ide.core.testdata.text.write.DumperHelper;
import org.rf.ide.core.testdata.text.write.SectionBuilder.SectionType;
import org.rf.ide.core.testdata.text.write.tables.variables.DictionaryVariableDumper;
import org.rf.ide.core.testdata.text.write.tables.variables.ListVariableDumper;
import org.rf.ide.core.testdata.text.write.tables.variables.ScalarVariableDumper;
import org.rf.ide.core.testdata.text.write.tables.variables.UnknownVariableDumper;
public class VariablesSectionTableDumper extends ANotExecutableTableDumper {
private final static ModelType MY_TYPE = ModelType.VARIABLES_TABLE_HEADER;
public VariablesSectionTableDumper(final DumperHelper aDumpHelper) {
super(aDumpHelper, getDumpers(aDumpHelper), false);
}
private static List<ISectionElementDumper> getDumpers(final DumperHelper aDumpHelper) {
final List<ISectionElementDumper> dumpers = new ArrayList<ISectionElementDumper>();
dumpers.add(new ScalarVariableDumper(aDumpHelper));
dumpers.add(new ListVariableDumper(aDumpHelper));
dumpers.add(new DictionaryVariableDumper(aDumpHelper));
dumpers.add(new UnknownVariableDumper(aDumpHelper));
return dumpers;
}
@Override
public boolean isServedType(final TableHeader<? extends ARobotSectionTable> header) {
return (header.getModelType() == MY_TYPE);
}
@Override
public SectionType getSectionType() {
return SectionType.VARIABLES;
}
}