Использование CodeModel, есть ли способ контролировать порядок модификаторов? В частности, при создании полей.CodeModel Modifier Order
CodeModel, кажется, это собственное определение порядка модификатора, который отличается, чем спецификации языка Java и продуктов, как SonarQube и Checkstyle:
https://sonar43.spring.io/rules/show/squid:ModifiersOrderCheck?layout=false http://checkstyle.sourceforge.net/config_modifier.html
Модификаторы должны появиться в следующем порядке:
- Аннотации
- общественного
- защищен
- частного
- абстрактной
- статического
- окончательного
- переходной
- летучего
- синхронизируется
- родного
- strictfp
Этот пример кода:
// Create field for serialVersionUID
JFieldVar field1 = newClass.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, long.class, "serialVersionUID");
field1.init(JExpr.lit(1L));
Производит следующие модификаторы, которые не следуют за предложенный порядок:
private final static long serialVersionUID = 1L;
Да, я вижу. Спасибо за совет. Я сделаю изменения локально для своих целей. Любая идея, если группа принимает запросы на изменение? Если да, то как мне попасть в очередь? – Larz
Не уверен насчет запросов на изменение. Последнее изменение в источнике было 2 года назад. И java.net рано или поздно будет закрыт. Есть некоторые клоны/вилки на GitHub, но я не знаю «официального» репо, к сожалению ... – Marco13