/*
* Copyright 2015 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.rf.ide.core.testdata.mapping.hash.comment.tables.setting;
import java.util.List;
import org.rf.ide.core.testdata.mapping.IHashCommentMapper;
import org.rf.ide.core.testdata.model.RobotFile;
import org.rf.ide.core.testdata.model.table.setting.AImported;
import org.rf.ide.core.testdata.model.table.setting.LibraryImport;
import org.rf.ide.core.testdata.text.read.ParsingState;
import org.rf.ide.core.testdata.text.read.RobotLine;
import org.rf.ide.core.testdata.text.read.recognizer.RobotToken;
public class SettingLibraryCommentMapper implements IHashCommentMapper {
@Override
public boolean isApplicable(ParsingState state) {
return (state == ParsingState.SETTING_LIBRARY_IMPORT);
}
@Override
public void map(final RobotLine currentLine, final RobotToken rt, final ParsingState currentState,
final RobotFile fileModel) {
List<AImported> imports = fileModel.getSettingTable().getImports();
if (!imports.isEmpty()) {
AImported aImported = imports.get(imports.size() - 1);
if (aImported instanceof LibraryImport) {
LibraryImport lib = (LibraryImport) aImported;
lib.addCommentPart(rt);
} else {
// FIXME: error
}
} else {
// FIXME: errors
}
}
}