Как сделать SuppressWarnings для всех использований метода?
У меня имеется метод:
Session getSession(Player player);
Этот метод может вернуть объект класса Session, но так же может вернуть null. В документации этого метода объясняется, что и в каких случаях он возвращает.
Если использовать этот метод, тогда intellij idea будет показывать такой warning:

Но intellij idea не понимает, что в данном контексте null не может быть по логике кода, но разработчик это знает и он не хочет делать проверку на null.
Конечно, я могу установить аннотацию @SuppressWarnings("ConstantConditions"). Но она уберет warning только для данного использования метода getSession. Дело в том, что в 90% случаев этот метод не возвращает null, и разработчики об этом знают, по этому не хочется повсеместно ставить аннотацию @SuppressWarnings("ConstantConditions").
Как пометить метод getSession, чтобы во всем проекте у всех его использованиях пропал warning?
Ответы (2 шт):
Если тело метода getSession вынести в метод getSession0, тогда intellij idea не будет делать warning.
Вот как это выглядит:
Session getSession(Player player) {
return getSession0(player);
}
Session getSession0(Player player) {
...
}
Как вариант использовать тип Integer вместо int, даже если выпадет null, NPE в данном участке кода не произойдет. Либо согласно чисто-писанию, назвать метод getIdorNull. По хорошем лучше отловить исключение, и на его место поставить какое нибудь кодовое значение. Прим: -1