package org.robobinding.viewattribute.grouped;
import org.robobinding.BindingContext;
import org.robobinding.attribute.AbstractAttribute;
import org.robobinding.viewattribute.Bindable;
/**
*
* @since 1.0
* @version $Revision: 1.0 $
* @author Cheng Wei
*/
class DependentChildViewAttribute implements Bindable {
private final ChildViewAttributeFactory factory;
private final AbstractAttribute attribute;
private final ChildViewAttributeInitializer viewAttributeInitializer;
public DependentChildViewAttribute(ChildViewAttributeFactory factory, AbstractAttribute attribute, ChildViewAttributeInitializer viewAttributeInitializer) {
this.factory = factory;
this.attribute = attribute;
this.viewAttributeInitializer = viewAttributeInitializer;
}
@Override
public void bindTo(BindingContext bindingContext) {
ChildViewAttribute childViewAttribute = factory.create();
viewAttributeInitializer.initializeChildViewAttribute(childViewAttribute, attribute);
childViewAttribute.bindTo(bindingContext);
}
}