Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Rhino JavaScript Java Library Source Code
Rhino JavaScript Java Library is an open-source implementation of JavaScript written entirely in Java.
Rhino JavaScript Java Library Source Code files are provided in binary package (rhino-1.7.14.zip).
You can also browse the source code below:
✍: FYIcenter.com
⏎ org/mozilla/javascript/LambdaSlot.java
package org.mozilla.javascript; import java.util.function.Consumer; import java.util.function.Supplier; /** * This is a specialization of property access using some lambda functions. It behaves exactly like * any other slot that has only a value, but instead of getting the value directly, it comes from * calling the functions. This makes it different from GetterSlot, which lets the user see directly * that there is a getter or a setter function involved. This makes this class useful for * implementing properties that behave like any other JavaScript property but which are implemented * using some native functionality without using reflection. */ public class LambdaSlot extends Slot { private static final long serialVersionUID = -3046681698806493052L; LambdaSlot(Slot oldSlot) { super(oldSlot); } transient Supplier<Object> getter; transient Consumer<Object> setter; @Override boolean isValueSlot() { return false; } @Override boolean isSetterSlot() { return false; } @Override ScriptableObject getPropertyDescriptor(Context cx, Scriptable scope) { ScriptableObject desc = (ScriptableObject) cx.newObject(scope); if (getter != null) { desc.defineProperty("value", getter.get(), ScriptableObject.EMPTY); } else { desc.defineProperty("value", value, ScriptableObject.EMPTY); } desc.setCommonDescriptorProperties(getAttributes(), true); return desc; } @Override public boolean setValue(Object value, Scriptable owner, Scriptable start) { if (setter != null) { if (owner == start) { setter.accept(value); return true; } return false; } return super.setValue(value, owner, start); } @Override public Object getValue(Scriptable start) { if (getter != null) { return getter.get(); } return super.getValue(start); } }
⏎ org/mozilla/javascript/LambdaSlot.java
Or download all of them as a single archive file:
File name: rhino-1.7.14-sources.jar File size: 1029165 bytes Release date: 2022-01-06 Download
⇒ Example code to Test rhino-runtime-1.7.14.jar
⇐ Download Rhino JavaScript Binary Package
2022-05-03, 36217👍, 1💬
Popular Posts:
JDK 8 tools.jar is the JAR file for JDK 8 tools. It contains Java classes to support different JDK t...
JSP(tm) Standard Tag Library 1.1 implementation - Jakarta Taglibs hosts the Standard Taglib 1.1, an ...
JDK 11 jdk.internal.le.jmod is the JMOD file for JDK 11 Internal Line Editing module. JDK 11 Interna...
How to download and install JDK (Java Development Kit) 7? If you want to write Java applications, yo...
Java Architecture for XML Binding (JAXB) is a Java API that allows Java developers to map Java class...