Di perpustakaan di Java 7, saya memiliki kelas yang menyediakan layanan ke kelas lain. Setelah membuat turunan dari kelas layanan ini, satu metode dapat dipanggil beberapa kali (sebut saja doWork()
metode). Jadi saya tidak tahu kapan pekerjaan kelas layanan selesai.
Masalahnya adalah kelas layanan menggunakan benda berat dan harus melepaskannya. Saya mengatur bagian ini dalam suatu metode (sebut saja release()
), tetapi tidak dijamin bahwa pengembang lain akan menggunakan metode ini.
Apakah ada cara untuk memaksa pengembang lain untuk memanggil metode ini setelah menyelesaikan tugas kelas layanan? Tentu saja saya bisa mendokumentasikannya, tetapi saya ingin memaksa mereka.
Catatan: Saya tidak dapat memanggil release()
metode dalam doWork()
metode ini, karena doWork()
membutuhkan objek tersebut ketika dipanggil selanjutnya.
AutoCloseable
dibuat untuk tujuan yang tepat ini.