com.netflix.fabricator.guice.mapping.CompositeNoExistingBinding Maven / Gradle / Ivy
package com.netflix.fabricator.guice.mapping;
import com.google.common.base.Preconditions;
import com.google.inject.Injector;
import com.netflix.fabricator.BindingComponentFactory;
import com.netflix.fabricator.ConfigurationNode;
import java.lang.reflect.Method;
/**
* Created by hyuan on 1/17/14.
*/
public class CompositeNoExistingBinding implements BindingReslove {
private final String propertyName;
private final BindingComponentFactory> provider;
public CompositeNoExistingBinding(String propertyName, BindingComponentFactory> provider) {
Preconditions.checkNotNull(propertyName);
Preconditions.checkNotNull(provider);
this.propertyName = propertyName;
this.provider = provider;
}
@Override
public boolean execute(String name, Object obj, ConfigurationNode node, Class> argType, Injector injector, Method method) throws Exception {
if (node != null) {
Object subObject = provider.get().create(node);
method.invoke(obj, subObject);
}
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy