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

org.robobinding.viewattribute.ResolvedGroupAttributesFactory Maven / Gradle / Ivy

package org.robobinding.viewattribute;

import org.robobinding.attribute.ChildAttributeResolverMappings;
import org.robobinding.attribute.PendingGroupAttributes;
import org.robobinding.attribute.ResolvedGroupAttributes;

/**
 *
 * @since 1.0
 * @version $Revision: 1.0 $
 * @author Cheng Wei
 */
public class ResolvedGroupAttributesFactory {

    public ResolvedGroupAttributes create(PendingGroupAttributes pendingGroupAttributes, ChildAttributesResolver childAttributesResolver) {
	pendingGroupAttributes.assertAttributesArePresent(childAttributesResolver.getCompulsoryAttributes());
	ChildAttributeResolverMappings resolverMappings = createResolverMappings(childAttributesResolver);
	ResolvedGroupAttributes resolvedGroupAttributes = new ResolvedGroupAttributes(pendingGroupAttributes, resolverMappings);

	childAttributesResolver.validateResolvedChildAttributes(resolvedGroupAttributes);

	return resolvedGroupAttributes;
    }

    private ChildAttributeResolverMappings createResolverMappings(ChildAttributesResolver childViewAttributesResolver) {
	ChildAttributeResolverMappings resolverMappings = new ChildAttributeResolverMappings();
	childViewAttributesResolver.mapChildAttributeResolvers(resolverMappings);
	return resolverMappings;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy