package ch.zhaw.dna.ssh.mapreduce.model.framework;

import ch.zhaw.dna.ssh.mapreduce.model.framework.impl.AsyncPool;

/**
 * Stellt ein Singleton vom Pool zur Verfuegung.
 * 
 * @author Max, Reto
 * 
 */
public class PoolHelper {

	/**
	 * Gibt eine Instanz von einem Pool zurueck
	 * 
	 * @return einen Pool
	 */
	public static Pool getPool() {
		return SingletonHolder.pool;
	}

	/**
	 * Diese inere Klasse ist fuer einen Thread-Safe Singleton verantwortlich. Siehe hier fuer technische Details:
	 * http://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom
	 * 
	 */
	private static final class SingletonHolder {
		private static final Pool pool = createPool();

		/**
		 * Erstellt einen Pool und initialisiert ihn. Das darf nur einmal ausgefuert werden!
		 * 
		 * @return einen Pool
		 */
		private static Pool createPool() {
			AsyncPool pool = new AsyncPool();
			pool.init();
			return pool;
		}
	}
}
@@ -224,16 +224,90 @@
 lper %7B%0A%0A
+%09/**%0A%09 * Instanz wird nicht benotigt%0A%09 */%0A%09private PoolHelper() %7B%0A%09%09%0A%09%7D%0A%09%0A
 %09/**%0A%09 *
@@ -438,20 +438,20 @@
 nHolder.
-pool
+POOL
 ;%0A%09%7D%0A%0A%09/
@@ -720,20 +720,20 @@
 al Pool 
-pool
+POOL
  = creat

make constants uppercase, no default constructor for utility classes