package org.handwerkszeug.riak.model; import java.io.IOException; import org.codehaus.jackson.JsonGenerator; public abstract class JavaScript extends Function { protected String name; protected JavaScript(String name) { super(Language.javascript); this.name = name; } public String getName() { return this.name; } public static JavaScript newFunction(final String name) { return new JavaScript(name) { @Override protected void appendBody(JsonGenerator generator) throws IOException { generator.writeStringField("name", this.name); } }; } /* * BuiltIn Functions */ public static final JavaScript mapValues = newFunction("Riak.mapValues"); public static final JavaScript mapValuesJson = newFunction("Riak.mapValuesJson"); public static final JavaScript mapByFields = newFunction("Riak.mapByFields"); public static final JavaScript reduceSum = newFunction("Riak.reduceSum"); public static final JavaScript reduceMin = newFunction("Riak.reduceMin"); public static final JavaScript reduceMax = newFunction("Riak.reduceMax"); public static final JavaScript reduceSort = newFunction("Riak.reduceSort"); public static final JavaScript reduceNumericSort = newFunction("Riak.reduceNumericSort"); public static final JavaScript reduceLimit = newFunction("Riak.reduceLimit"); public static final JavaScript reduceSlice = newFunction("Riak.reduceSlice"); }