In una libreria in Java 7, ho una classe che fornisce servizi ad altre classi. Dopo aver creato un'istanza di questa classe di servizio, un suo metodo può essere chiamato più volte (chiamiamolo il doWork()
metodo). Quindi non so quando il lavoro della classe di servizio è completato.
Il problema è che la classe di servizio utilizza oggetti pesanti e dovrebbe rilasciarli. Ho impostato questa parte in un metodo (chiamiamolo release()
), ma non è garantito che altri sviluppatori useranno questo metodo.
C'è un modo per costringere altri sviluppatori a chiamare questo metodo dopo aver completato l'attività della classe di servizio? Certo che posso documentarlo, ma voglio forzarli.
Nota: non posso chiamare il release()
metodo nel doWork()
metodo, perché ho doWork()
bisogno di quegli oggetti quando viene chiamato in seguito.
AutoCloseable
è stato creato per questo preciso scopo.