package org.jtwig.functions.config; import org.jtwig.functions.JtwigFunction; import org.jtwig.functions.impl.control.EscapeFunction; import org.jtwig.functions.impl.control.RawFunction; import org.jtwig.functions.impl.date.DateFormatFunction; import org.jtwig.functions.impl.java.ConstantFunction; import org.jtwig.functions.impl.list.*; import org.jtwig.functions.impl.logical.*; import org.jtwig.functions.impl.map.KeysFunction; import org.jtwig.functions.impl.math.AbsFunction; import org.jtwig.functions.impl.math.RoundFunction; import org.jtwig.functions.impl.mixed.*; import org.jtwig.functions.impl.string.*; import org.jtwig.functions.impl.structural.BlockFunction; import org.jtwig.reflection.model.java.JavaClassManager; import org.jtwig.util.ClasspathFinder; import java.util.ArrayList; import java.util.Arrays; public class DefaultJtwigFunctionList extends ArrayList<JtwigFunction> { public DefaultJtwigFunctionList() { super(Arrays.<JtwigFunction>asList( // Logical new DefinedFunction(), new EvenFunction(), new OddFunction(), new IterableFunction(), new EmptyFunction(), // Control new EscapeFunction(), new RawFunction(), // Structural new BlockFunction(), // Math new AbsFunction(), new RoundFunction(), // String new NumberFormatFunction(), new CapitalizeFunction(), new ConvertEncodingFunction(), new FormatFunction(), new LowerFunction(), new NlToBrFunction(), new ReplaceFunction(), new SplitFunction(), new StripTagsFunction(), new TitleFunction(), new TrimFunction(), new UpperFunction(), // Mixed new ConstantFunction(new ClasspathFinder(ConstantFunction.class.getClassLoader(), JavaClassManager.classManager())), new UrlEncodeFunction(), new FirstFunction(), new LastFunction(), new ReverseFunction(), new DefaultFunction(), new LengthFunction(), // Map new KeysFunction(), // List new BatchFunction(), new ConcatenateFunction(), new JoinFunction(), new MergeFunction(), new SliceFunction(), new SortFunction(), // Date new DateFormatFunction() )); } }