package org.jtwig.render.config; import org.jtwig.model.expression.Expression; import org.jtwig.model.expression.test.TestExpression; import org.jtwig.model.tree.Node; import org.jtwig.render.expression.calculator.ExpressionCalculator; import org.jtwig.render.expression.calculator.operation.binary.BinaryOperator; import org.jtwig.render.expression.calculator.operation.binary.calculators.BinaryOperationCalculator; import org.jtwig.render.expression.calculator.operation.unary.UnaryOperator; import org.jtwig.render.expression.calculator.operation.unary.calculators.UnaryOperationCalculator; import org.jtwig.render.expression.test.calculator.TestExpressionCalculator; import org.jtwig.render.node.renderer.NodeRender; import java.nio.charset.Charset; import java.util.Map; public class RenderConfiguration { private final boolean strictMode; private final Charset defaultOutputCharset; private final Map<Class<? extends Node>, NodeRender> renders; private final Map<Class<? extends Expression>, ExpressionCalculator> calculators; private final Map<Class<? extends BinaryOperator>, BinaryOperationCalculator> binaryCalculators; private final Map<Class<? extends UnaryOperator>, UnaryOperationCalculator> unaryCalculators; private final Map<Class<? extends TestExpression>, TestExpressionCalculator> testExpressionCalculators; public RenderConfiguration(boolean strictMode, Charset defaultOutputCharset, Map<Class<? extends Node>, NodeRender> renders, Map<Class<? extends Expression>, ExpressionCalculator> calculators, Map<Class<? extends BinaryOperator>, BinaryOperationCalculator> binaryCalculators, Map<Class<? extends UnaryOperator>, UnaryOperationCalculator> unaryCalculators, Map<Class<? extends TestExpression>, TestExpressionCalculator> testExpressionCalculators) { this.strictMode = strictMode; this.defaultOutputCharset = defaultOutputCharset; this.renders = renders; this.calculators = calculators; this.binaryCalculators = binaryCalculators; this.unaryCalculators = unaryCalculators; this.testExpressionCalculators = testExpressionCalculators; } public boolean getStrictMode() { return strictMode; } public Charset getDefaultOutputCharset() { return defaultOutputCharset; } public Map<Class<? extends Node>, NodeRender> getNodeRenders() { return renders; } public Map<Class<? extends Expression>, ExpressionCalculator> getExpressionCalculators() { return calculators; } public Map<Class<? extends BinaryOperator>, BinaryOperationCalculator> getBinaryExpressionCalculators() { return binaryCalculators; } public Map<Class<? extends UnaryOperator>, UnaryOperationCalculator> getUnaryExpressionCalculators() { return unaryCalculators; } public Map<Class<? extends TestExpression>, TestExpressionCalculator> getTestExpressionCalculators() { return testExpressionCalculators; } }