Package io.karatelabs.js
Class JavaObject
java.lang.Object
io.karatelabs.js.JavaObject
- All Implemented Interfaces:
ExternalAccess,ObjectLike
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionRaw-value accessor — returns the stored data value, ornullfor accessor descriptors (which have no extractable raw value).getProperty(String name) getPropertyOrNotFound(String name) ExternalAccess.getProperty(java.lang.String)for a caller that treats "no such property" asundefinedrather than an error.invokeMethod(String name, Object[] args) voidvoidremoveMember(String name) voidsetProperty(String name, Object value) toMap()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.karatelabs.js.ExternalAccess
getMethodMethods inherited from interface io.karatelabs.js.ObjectLike
getMember, getPrototype, isExtensible, isFrozen, isOwnProperty, isSealed, putMember, removeMember, setExtensible, setFrozen, setSealed
-
Constructor Details
-
JavaObject
-
-
Method Details
-
getJavaValue
- Specified by:
getJavaValuein interfaceExternalAccess
-
construct
- Specified by:
constructin interfaceExternalAccess
-
invokeMethod
- Specified by:
invokeMethodin interfaceExternalAccess
-
getProperty
- Specified by:
getPropertyin interfaceExternalAccess
-
setProperty
- Specified by:
setPropertyin interfaceExternalAccess
-
getMember
Description copied from interface:ObjectLikeRaw-value accessor — returns the stored data value, ornullfor accessor descriptors (which have no extractable raw value). Internal map / Java-interop callers (toMap, Map.get, jsEntries) and subclasssuper.getMember(name)chains use this.For JS-semantic reads that must invoke an accessor's getter, use
ObjectLike.getMember(String, Object, CoreContext)instead.- Specified by:
getMemberin interfaceObjectLike
-
getPropertyOrNotFound
Description copied from interface:ExternalAccessExternalAccess.getProperty(java.lang.String)for a caller that treats "no such property" asundefinedrather than an error. The engine's own implementation answers with an internal not-found marker instead of throwing; the default below keeps every other implementation working unchanged, since the caller catches either way. Overriding it is an optimisation available inside the engine, not something an external implementor needs to do.- Specified by:
getPropertyOrNotFoundin interfaceExternalAccess
-
putMember
- Specified by:
putMemberin interfaceObjectLike
-
removeMember
- Specified by:
removeMemberin interfaceObjectLike
-
toMap
- Specified by:
toMapin interfaceObjectLike
-