All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aerospike.mapper.tools.ThreadLocalKeySaver Maven / Gradle / Ivy

package com.aerospike.mapper.tools;

import java.util.ArrayDeque;
import java.util.Deque;

import com.aerospike.client.Key;

/**
 * Save the keys. Note that this is effectively a stack of keys, as A can load B which can load C, and C needs B's key, not A's.
 * @author timfaulkes
 */
public class ThreadLocalKeySaver {
	private static final ThreadLocal> threadLocalKeys = ThreadLocal.withInitial(ArrayDeque::new);
	
	public static void save(Key key) {
		threadLocalKeys.get().addLast(key);
	}
	
	public static void clear() {
		threadLocalKeys.get().removeLast();
	}
	
	public static Key get() {
		return threadLocalKeys.get().getLast();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy