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

org.appdapter.gui.util.NamingResolver Maven / Gradle / Ivy

Go to download

Appdapter Maven project including Java and Scala, produces jar, not bundle. Excludes concrete SLF4J binding.

The newest version!
package org.appdapter.gui.util;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import org.appdapter.gui.util.ObjectFinder.Found;
import org.appdapter.gui.util.ObjectFinder.FoundObject;

public interface NamingResolver {

	 Found lookup(String name, Class cls,
			boolean createIfNotFound, Collection dontUse);

	public class SavedFromResolverMap implements NamingResolver {

		Map savedMap = new HashMap();

		@Override
		public  Found lookup(String name, Class cls,
				boolean createIfNotFound, Collection dontUse) {
			if (dontUse.contains(this)) {
				return null;
			}
			if (dontUse.contains(savedMap)) {
				return null;
			}
			if (dontUse.contains(savedMap)) {
				return null;
			}
			dontUse.add(this);
			dontUse.add(savedMap);
			Found fnd = savedMap.get(name);
			if (fnd != null)
				return fnd;
			return null;
		}

		public void save(String name, Object obj) {
			savedMap.put(name, new FoundObject(name, obj));
		}
	}
}