Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
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, ≈202🔥, 1💬
Popular Posts:
What Is javax.websocket-api-1.1. jar?javax.websocket-api-1.1. jaris the JAR file for Java API for We...
The JMX technology provides the tools for building distributed, Web-based, modular and dynamic solut...
JBrowser Source Code Files are provided in the source package file. You can download JBrowser source...
What is the jaxp\TypeInfoWriter.java provided in the Apache Xerces package? I have Apache Xerces 2.1...
How to download and install ojdbc6.jar for Oracle 11g R2? ojdbc6.jar for Oracle 11g R2 is a Java 6, ...