package org.jerlang.stdlib.binary; import org.jerlang.erts.erlang.Error; import org.jerlang.type.Binary; import org.jerlang.type.Integer; import org.jerlang.type.List; import org.jerlang.type.Term; public class BinaryAt { private BinaryAt() { } public static Term dispatch(List params) { switch (params.length()) { case 2: Binary subject = params.head().toBinary(); params = params.tail(); Integer pos = params.head().toInteger(); return at_2(subject, pos); default: throw Error.badarg; } } /** * Returns the byte at position Pos (zero-based) in the binary Subject * as an integer. If Pos >= byte_size(Subject), a badarg exception is * raised. * * http://www.erlang.org/doc/man/binary.html#at-2 */ public static Integer at_2(Binary subject, Integer pos) { return subject.at(pos.toInt()); } }