У меня есть простая двухуровневая иерархия, состоящая из абстрактного суперкласса с именем AbstractTable и трех определенных c подклассов, Table1, Table2 и Table3.
Каждый подкласс предоставляет одну другую реализацию для трех методов абстракции . Например, класс Table1 говорит:
@Override
protected String getSequence() {
return "seq_table1";
}
@Override
protected String getIdColumn() {
return "id_table1";
}
@Override
protected String getTable() {
return "table1";
}
Table2 и Table3 имеют похожие реализации, они отвечают на разные литералы. Однако Sonar, похоже, не различает guish разные литералы, и он говорит мне, что все строки дублируются. Правило: в исходных файлах не должно быть дублированных блоков.
Почему? Я думаю, что сонар должен рассматривать разные литералы как разные строки.
Правильно ли текущее действие правила? Может ли кто-нибудь объяснить мне, как передать правило в таких ситуациях?
Спасибо за аванс.