Аннотация @Contract: как гарантировать, что результат метода будет присвоен?

Например, есть некоторый широко примененный легаси метод, который вычитывает поток в некоторый временный и потом закрывает исходный:

IOUtils.copyLarge(inputStream, tempOutputStream);

Нужно как-то гарантировать, что этот метод будет вызван с присвоением результата. Как то:

InputStream copyOfInputStream = IOUtils.copyLarge(inputStream, tempOutputStream);

А если так, то выдавать какое-то предупреждение:

someObject.someMethod(IOUtils.copyLarge(inputStream, tempOutputStream));

Смотрю аннотацию @Contract от JetBrains, но пока не вижу решения.


Ответы (0 шт):