UNPKG

@specs-feup/lara

Version:

A js port of the popular framework for building source-to-source compilers

44 lines (36 loc) 1.13 kB
import JavaTypes, { JavaClasses } from "./util/JavaTypes.js"; export default class JavaInterop { /** * Converts a JS array into a java.util.List. */ static arrayToList<T>(array: Array<T>): JavaClasses.List<T> { const ArrayListClass = JavaTypes.ArrayList; const list = new ArrayListClass(); array.forEach((element) => list.add(element)); return list; } /** * Converts a JS array into a java.util.List where all objects are Strings. */ static arrayToStringList<T>(array: Array<T>) { return JavaInterop.arrayToList(array.map((value) => String(value))); } /** * @param value - Value to test * @param classname - The full qualified name of the Java class of the value * * @deprecated Use JavaTypes.instanceOf instead */ static isInstance<T>(value: T, classname: string) { return JavaTypes.instanceOf(value, classname); } static isList<T>(value: T) { return JavaTypes.instanceOf(value, "java.util.List"); } /** * @deprecated Use JavaTypes instead */ static getClass(classname: string) { return JavaTypes.getType(classname).class; } }