blob: c37bdf1c26183ae51b52e03ed543d75063704d48 [file] [log] [blame] [raw]
package li.cil.oc.integration.computercraft;
import com.google.common.collect.Iterables;
import li.cil.oc.api.machine.Arguments;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
import java.util.List;
public final class CallableHelper {
private final List<String> _methods;
public CallableHelper(final String[] methods) {
_methods = Arrays.asList(methods);
}
public int methodIndex(final String method) throws NoSuchMethodException {
final int index = _methods.indexOf(method);
if (index < 0) {
throw new NoSuchMethodException();
}
return index;
}
public Object[] convertArguments(final Arguments args) throws UnsupportedEncodingException {
final Object[] argArray = Iterables.toArray(args, Object.class);
for (int i = 0; i < argArray.length; ++i) {
if (argArray[i] instanceof byte[]) {
argArray[i] = new String((byte[]) argArray[i], "UTF-8");
}
}
return argArray;
}
}