У бібліотеці Java 7 у мене є клас, який надає послуги іншим класам. Після створення екземпляра цього класу обслуговування один метод його може бути викликаний кілька разів (назвемо його doWork()
методом). Тож я не знаю, коли робота класу обслуговування закінчена.
Проблема полягає в тому, що клас обслуговування використовує важкі об'єкти, і він повинен звільнити їх. Я встановив цю частину методом (назвемо так release()
), але не гарантується, що інші розробники будуть використовувати цей метод.
Чи є спосіб змусити інших розробників викликати цей метод після виконання завдання сервісного класу? Звичайно, я можу це документувати, але хочу їх змусити.
Примітка: я не можу викликати release()
метод у doWork()
методі, тому що doWork()
потрібні ці об'єкти, коли він викликається у наступному.
AutoCloseable
було зроблено саме з цією метою.