
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