ClosableLock.java
// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (c) 2012-2014 Monty Program Ab
// Copyright (c) 2015-2025 MariaDB Corporation Ab
package org.mariadb.jdbc.client.util;
import java.util.concurrent.locks.ReentrantLock;
/** Utility class to permit use AutoClosable, ensuring proper lock release. */
public final class ClosableLock extends ReentrantLock implements AutoCloseable {
private static final long serialVersionUID = -8041187539350329669L;
/**
* Default constructor, retaining lock.
*
* @return Closable lock
*/
public ClosableLock closeableLock() {
this.lock();
return this;
}
@Override
public void close() {
this.unlock();
}
}