package org.jerlang.erts.erlang;
import org.jerlang.ProcessRegistry;
import org.jerlang.type.Atom;
import org.jerlang.type.Boolean;
import org.jerlang.type.List;
import org.jerlang.type.PID;
import org.jerlang.type.Term;
public class ErlangRegister {
private ErlangRegister() {
}
public static Term dispatch(List params) {
switch (params.length()) {
case 2:
Atom regName = params.head().toAtom();
params = params.tail();
PID pid = params.head().toPID();
return register_2(regName, pid);
default:
throw Error.badarg;
}
}
/**
* Associates the name RegName with a pid or a port identifier.
* RegName, which must be an atom, can be used instead of the
* pid / port identifier in the send operator (RegName ! Message).
*
* http://www.erlang.org/doc/man/erlang.html#register-2
*/
public static Term register_2(Atom regName, PID pid) {
ProcessRegistry.register(regName, pid);
return Boolean.am_true;
}
}