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

org.mini2Dx.ui.event.params.EventTriggerParamsPool Maven / Gradle / Ivy

There is a newer version: 2.0.0-alpha.32
Show newest version
/**
 * Copyright 2017 Thomas Cashman
 */
package org.mini2Dx.ui.event.params;

import java.util.LinkedList;
import java.util.Queue;

/**
 *
 */
public class EventTriggerParamsPool {
	private static final Queue mouseParams = new LinkedList();
	private static final Queue keyboardParams = new LinkedList();
	private static final Queue controllerParams = new LinkedList();
	
	public static MouseEventTriggerParams allocateMouseParams() {
		MouseEventTriggerParams result = mouseParams.poll();
		if(result == null) {
			result = new MouseEventTriggerParams();
		}
		return result;
	}
	
	public static void release(MouseEventTriggerParams params) {
		mouseParams.offer(params);
	}
	
	public static KeyboardEventTriggerParams allocateKeyboardParams() {
		KeyboardEventTriggerParams result = keyboardParams.poll();
		if(result == null) {
			result = new KeyboardEventTriggerParams();
		}
		return result;
	}
	
	public static void release(KeyboardEventTriggerParams params) {
		keyboardParams.offer(params);
	}
	
	public static ControllerEventTriggerParams allocateControllerParams() {
		ControllerEventTriggerParams result = controllerParams.poll();
		if(result == null) {
			result = new ControllerEventTriggerParams();
		}
		return result;
	}
	
	public static void release(ControllerEventTriggerParams params) {
		controllerParams.offer(params);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy