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

kikaha.core.cdi.helpers.DependencyMap Maven / Gradle / Ivy

There is a newer version: 2.1.10.Final
Show newest version
package kikaha.core.cdi.helpers;

import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class DependencyMap {

	final Set> lockedDependencies = new HashSet<>();
	final Map, Iterable> dependencies;

	public Iterable get( Class clazz ) {
		if ( lockedDependencies.contains( clazz ) )
			throw new TemporarilyLockedException();
		return dependencies.get( clazz );
	}

	public void put( Class clazz, Iterable instances ) {
		lockedDependencies.add( clazz );
		dependencies.put( clazz, instances );
	}

	public void unlock( Class clazz ) {
		lockedDependencies.remove( clazz );
	}

	public static class TemporarilyLockedException
			extends RuntimeException {

		private static final long serialVersionUID = -16545564456L;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy