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

org.robobinding.attribute.ChildAttributeResolverMappings Maven / Gradle / Ivy

package org.robobinding.attribute;

import static org.robobinding.util.Preconditions.checkNotBlank;

import java.util.Map;

import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;

/**
 * 
 * @since 1.0
 * @version $Revision: 1.0 $
 * @author Cheng Wei
 */
public class ChildAttributeResolverMappings {
	private Map childAttributeResolvers;

	public ChildAttributeResolverMappings() {
		childAttributeResolvers = Maps.newHashMap();
	}

	public void map(ChildAttributeResolver resolver, String attribute) {
		checkNotBlank(attribute, "Attribute cannot be empty");
		Preconditions.checkNotNull(resolver, "Resolver cannot be null");

		childAttributeResolvers.put(attribute, resolver);
	}

	public ChildAttributeResolver resolverFor(String attribute) {
		if (childAttributeResolvers.containsKey(attribute)) {
			return childAttributeResolvers.get(attribute);
		} else {
			throw new RuntimeException("A ChildAttributeResolver for '" + attribute + "' is not specified");
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy