package com.hubspot.jinjava.lib.fn;
import java.util.Set;
import com.google.common.collect.Lists;
import com.hubspot.jinjava.lib.SimpleLibrary;
public class FunctionLibrary extends SimpleLibrary<ELFunctionDefinition> {
public FunctionLibrary(boolean registerDefaults, Set<String> disabled) {
super(registerDefaults, disabled);
}
@Override
protected void registerDefaults() {
register(new ELFunctionDefinition("", "datetimeformat", Functions.class, "dateTimeFormat", Object.class, String[].class));
register(new ELFunctionDefinition("", "unixtimestamp", Functions.class, "unixtimestamp", Object.class));
register(new ELFunctionDefinition("", "truncate", Functions.class, "truncate", Object.class, Object[].class));
register(new ELFunctionDefinition("", "range", Functions.class, "range", Object.class, Object[].class));
register(new ELFunctionDefinition("", "type", TypeFunction.class, "type", Object.class));
register(new ELFunctionDefinition("", "super", Functions.class, "renderSuperBlock"));
register(new ELFunctionDefinition("fn", "list", Lists.class, "newArrayList", Object[].class));
register(new ELFunctionDefinition("fn", "immutable_list", Functions.class, "immutableListOf", Object[].class));
}
public void addFunction(ELFunctionDefinition fn) {
register(fn);
}
public ELFunctionDefinition getFunction(String name) {
return fetch(name);
}
}