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, ≈172🔥, 1💬
Popular Posts:
JRE 5 sunjce_provider.jar is the JAR file for JRE 5 Sun JCE Provider, which provides implementations...
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
Where to find answers to frequently asked questions on Downloading and Installing ojdbc.jar - JDBC D...
Where to get the Java source code for Connector/J 8.0 User Impl module? Java source code files for C...
What Is commons-logging-1.2.jar? commons-logging-1.2.jar is the JAR file for Apache Commons Logging ...