package org.jerlang.erts.erlang; import org.jerlang.erts.init.ProcessFlag; import org.jerlang.type.Atom; import org.jerlang.type.Boolean; import org.jerlang.type.List; import org.jerlang.type.Term; public class ErlangProcessFlag { private ErlangProcessFlag() { } public static Term dispatch(List params) { switch (params.length()) { case 2: Atom flag = params.head().toAtom(); params = params.tail(); Term value = params.head(); return process_flag_2(flag, value); default: throw Error.badarg; } } /** * http://www.erlang.org/doc/man/erlang.html#process_flag-2 */ public static Term process_flag_2(Atom flag, Term value) { return Boolean.of(ProcessFlag.process_flag(flag, value.isTrue())); } }