1*4151dbf5SChris Fraire /* 2*4151dbf5SChris Fraire * This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 3*4151dbf5SChris Fraire * International License. To view a copy of this license, visit 4*4151dbf5SChris Fraire * https://creativecommons.org/licenses/by-sa/4.0/ or send a letter to 5*4151dbf5SChris Fraire * Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. 6*4151dbf5SChris Fraire * 7*4151dbf5SChris Fraire * Copyright (c) 2017, https://stackoverflow.com/users/7583219/skoskav 8*4151dbf5SChris Fraire * Copyright (c) 2011, https://stackoverflow.com/questions/6965731/are-locks-autocloseable 9*4151dbf5SChris Fraire * Portions Copyright (c) 2019, Chris Fraire <cfraire@me.com>. 10*4151dbf5SChris Fraire * 11*4151dbf5SChris Fraire * Used under CC 4 with modifications noted as follows as required by license: 12*4151dbf5SChris Fraire * 2019-09-10 -- cfraire@me.com, solely Javadoc changes. 13*4151dbf5SChris Fraire */ 14*4151dbf5SChris Fraire 15*4151dbf5SChris Fraire package org.opengrok.indexer.util; 16*4151dbf5SChris Fraire 17*4151dbf5SChris Fraire import java.util.concurrent.locks.Lock; 18*4151dbf5SChris Fraire 19*4151dbf5SChris Fraire /** 20*4151dbf5SChris Fraire * Represents an API for try-with-resources management of a {@link Lock}. 21*4151dbf5SChris Fraire */ 22*4151dbf5SChris Fraire public interface ResourceLock extends AutoCloseable { 23*4151dbf5SChris Fraire 24*4151dbf5SChris Fraire /** 25*4151dbf5SChris Fraire * Unlocking doesn't throw any checked exception. 26*4151dbf5SChris Fraire */ 27*4151dbf5SChris Fraire @Override close()28*4151dbf5SChris Fraire void close(); 29*4151dbf5SChris Fraire } 30