package org.jtwig.parser.config;
import com.google.common.base.Optional;
import org.jtwig.parser.addon.AddonParserProvider;
import org.jtwig.parser.cache.TemplateCache;
import org.jtwig.parser.parboiled.expression.test.TestExpressionParser;
import org.jtwig.render.expression.calculator.operation.binary.BinaryOperator;
import org.jtwig.render.expression.calculator.operation.unary.UnaryOperator;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public class JtwigParserConfiguration {
private final SyntaxConfiguration syntaxConfiguration;
private final List<AddonParserProvider> addonParserProviders;
private final Collection<UnaryOperator> unaryOperators;
private final Collection<BinaryOperator> binaryOperators;
private final List<Class<? extends TestExpressionParser>> testExpressionParsers;
private final Optional<TemplateCache> templateCache;
private final Map<String, Object> properties;
public JtwigParserConfiguration(SyntaxConfiguration syntaxConfiguration, List<AddonParserProvider> addonParserProviders, Collection<UnaryOperator> unaryOperators, Collection<BinaryOperator> binaryOperators, List<Class<? extends TestExpressionParser>> testExpressionParsers, Optional<TemplateCache> templateCache, Map<String, Object> properties) {
this.syntaxConfiguration = syntaxConfiguration;
this.addonParserProviders = addonParserProviders;
this.unaryOperators = unaryOperators;
this.binaryOperators = binaryOperators;
this.testExpressionParsers = testExpressionParsers;
this.templateCache = templateCache;
this.properties = properties;
}
public SyntaxConfiguration getSyntaxConfiguration() {
return syntaxConfiguration;
}
public List<AddonParserProvider> getAddonParserProviders() {
return addonParserProviders;
}
public Optional<TemplateCache> getTemplateCache() {
return templateCache;
}
public Collection<UnaryOperator> getUnaryOperators() {
return unaryOperators;
}
public Collection<BinaryOperator> getBinaryOperators() {
return binaryOperators;
}
public List<Class<? extends TestExpressionParser>> getTestExpressionParsers() {
return testExpressionParsers;
}
public Map<String, Object> getProperties() {
return properties;
}
}