for (CommitHook hook : properties.getPrecommitHooks()) {
if (hook.isJavascript()) {
builder.addPrecommitHook(new NamedJSFunction(hook.getJsName()));
} else {
builder.addPrecommitHook(new NamedErlangFunction(hook.getErlModule(),
hook.getErlFunction()));
}
}
for (CommitHook hook : properties.getPostcommitHooks()) {
if (hook.isJavascript()) {
throw new IllegalArgumentException("Post-commit hooks can only be erlang");
} else {
builder.addPostcommitHook(new NamedErlangFunction(hook.getErlModule(),
hook.getErlFunction()));
}
}
if (properties.getcHashFun() != null) {
builder.chashKeyFunction(new NamedErlangFunction(properties.getcHashFun().getModule(),
properties.getcHashFun().getFunction()));
}
if (properties.getLinkFun() != null) {
builder.linkWalkFunction(new NamedErlangFunction(properties.getLinkFun().getModule(),
properties.getLinkFun().getFunction()));
}
return builder.build();
}