Package jsinterop.base
Class Js
- java.lang.Object
-
- jsinterop.base.Js
-
public final class Js extends java.lang.ObjectUtilities to provide access to JavaScript language constructs that are not available in pure Java.Note that this class avoids providing replacements for stuff that is already available via a pure Java or Elemental and enforce safe (runtime-checked) coding practices.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> TandAlso(T obj1, T obj2)Applies JavaScript logical "and" operator (&&) on given objects.static JsArrayLike<java.lang.Object>arguments()static AnyasAny(java.lang.Object obj)static Any[]asArray(java.lang.Object obj)static JsArrayLike<java.lang.Object>asArrayLike(java.lang.Object obj)ReturnsJsArrayLikeview of provided array-like object.static booleanasBoolean(java.lang.Object obj)static byteasByte(java.lang.Object obj)static charasChar(java.lang.Object obj)static <T> JsConstructorFn<T>asConstructorFn(java.lang.Class<T> clazz)static doubleasDouble(java.lang.Object obj)static floatasFloat(java.lang.Object obj)static intasInt(java.lang.Object obj)static longasLong(java.lang.Object obj)static JsPropertyMap<java.lang.Object>asPropertyMap(java.lang.Object obj)ReturnsJsPropertyMapview of provided object.static shortasShort(java.lang.Object obj)static java.lang.StringasString(java.lang.Object obj)static <T> Tcast(java.lang.Object obj)Performs checked cast to lefthand-side type.static doublecoerceToDouble(java.lang.Object d)Coerces any object to number using+operation.static intcoerceToInt(java.lang.Object d)Coerces any object to 32 bit signed number using|0operation.static voiddebugger()static JsPropertyMap<java.lang.Object>global()static booleanisFalsy(java.lang.Object obj)static booleanisTripleEqual(java.lang.Object o1, java.lang.Object o2)Returnstrueif two objects are same.static booleanisTruthy(java.lang.Object obj)static <T> TorElse(T obj1, T obj2)Applies JavaScript logical "or" operator (||) on given objects.static java.lang.Stringtypeof(java.lang.Object obj)static <T> TuncheckedCast(java.lang.Object obj)Performs unchecked cast to lefthand-side type.static java.lang.Objectundefined()
-
-
-
Method Detail
-
undefined
@JsProperty(namespace="<window>", name="undefined") public static java.lang.Object undefined()
-
arguments
@JsProperty(namespace="<window>", name="arguments") public static JsArrayLike<java.lang.Object> arguments()
-
debugger
@JsProperty(namespace="<window>", name="debugger") public static void debugger()
-
typeof
@JsMethod(namespace="<window>") public static java.lang.String typeof(java.lang.Object obj)
-
global
public static JsPropertyMap<java.lang.Object> global()
-
asConstructorFn
public static <T> JsConstructorFn<T> asConstructorFn(java.lang.Class<T> clazz)
-
asAny
public static Any asAny(java.lang.Object obj)
-
asPropertyMap
public static JsPropertyMap<java.lang.Object> asPropertyMap(java.lang.Object obj)
ReturnsJsPropertyMapview of provided object.
-
asArrayLike
public static JsArrayLike<java.lang.Object> asArrayLike(java.lang.Object obj)
ReturnsJsArrayLikeview of provided array-like object.
-
asArray
public static Any[] asArray(java.lang.Object obj)
-
asString
public static java.lang.String asString(java.lang.Object obj)
-
asBoolean
public static boolean asBoolean(java.lang.Object obj)
-
asDouble
public static double asDouble(java.lang.Object obj)
-
asFloat
public static float asFloat(java.lang.Object obj)
-
asLong
public static long asLong(java.lang.Object obj)
-
asInt
public static int asInt(java.lang.Object obj)
-
asShort
public static short asShort(java.lang.Object obj)
-
asChar
public static char asChar(java.lang.Object obj)
-
asByte
public static byte asByte(java.lang.Object obj)
-
cast
public static <T> T cast(java.lang.Object obj)
Performs checked cast to lefthand-side type.This is useful for cases when Java won't allow you otherwise, like casting from a native interface to a final Java class (like String).
-
uncheckedCast
public static <T> T uncheckedCast(java.lang.Object obj)
Performs unchecked cast to lefthand-side type.This method exists in order to lie to the type system, it is not an optimization. You should *ALWAYS* prefer regular casting over this which also optimizes for production. Using this method can leak incorrect types to the rest of the system which will result in hard to debug problems.
-
andAlso
public static <T> T andAlso(T obj1, T obj2)Applies JavaScript logical "and" operator (&&) on given objects.
-
orElse
public static <T> T orElse(T obj1, T obj2)Applies JavaScript logical "or" operator (||) on given objects.
-
isTruthy
public static boolean isTruthy(java.lang.Object obj)
-
isFalsy
public static boolean isFalsy(java.lang.Object obj)
-
isTripleEqual
public static boolean isTripleEqual(java.lang.Object o1, java.lang.Object o2)Returnstrueif two objects are same.This method mostly behaves similar to Java
==operator except that it doesn't returntruefornull==undefinedcomparison.
-
coerceToDouble
public static double coerceToDouble(java.lang.Object d)
Coerces any object to number using+operation.
-
coerceToInt
public static int coerceToInt(java.lang.Object d)
Coerces any object to 32 bit signed number using|0operation.
-
-