package org.jtwig.property.resolver.request; import org.jtwig.property.selection.SelectionRequest; public class PropertyResolveRequestFactory { private final PropertyNameExtractor propertyNameExtractor; private final ArgumentsExtractor argumentsExtractor; public PropertyResolveRequestFactory(PropertyNameExtractor propertyNameExtractor, ArgumentsExtractor argumentsExtractor) { this.propertyNameExtractor = propertyNameExtractor; this.argumentsExtractor = argumentsExtractor; } public PropertyResolveRequest create(SelectionRequest request, Object leftValue) { return new PropertyResolveRequest( request, leftValue, propertyNameExtractor.extract(request.getRightExpression()), argumentsExtractor.extract(request, request.getRightExpression()) ); } }