package com.ericsson.otp.erlang;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import com.google.common.collect.Lists;
public class OtpErlang {
public static OtpErlangList mkList(final OtpErlangObject... args) {
return new OtpErlangList(args);
}
public static OtpErlangList mkList(final Collection<OtpErlangObject> args) {
return new OtpErlangList(args.toArray(new OtpErlangObject[args.size()]));
}
public static OtpErlangTuple mkTuple(final OtpErlangObject... args) {
return new OtpErlangTuple(args);
}
public static OtpErlangList mkStringList(final Collection<?> args) {
final List<OtpErlangObject> result = Lists.newArrayList();
for (final Object s : args) {
result.add(new OtpErlangString(s.toString()));
}
return mkList(result);
}
// for debugging purposes
public static long sizeOf(final OtpErlangObject obj) {
final OtpOutputStream buf = new OtpOutputStream(obj);
try {
return buf.size();
} finally {
try {
buf.close();
} catch (final IOException e) {
}
}
}
}