Package org.htmlunit.corejs.javascript
Class LambdaSlot
- java.lang.Object
-
- org.htmlunit.corejs.javascript.Slot
-
- org.htmlunit.corejs.javascript.LambdaSlot
-
- All Implemented Interfaces:
java.io.Serializable
public class LambdaSlot extends Slot
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.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.function.Supplier<java.lang.Object>getterprivate static longserialVersionUID(package private) java.util.function.Consumer<java.lang.Object>setter-
Fields inherited from class org.htmlunit.corejs.javascript.Slot
indexOrHash, name, next, orderedNext, value
-
-
Constructor Summary
Constructors Constructor Description LambdaSlot(Slot oldSlot)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) ScriptableObjectgetPropertyDescriptor(Context cx, Scriptable scope)java.lang.ObjectgetValue(Scriptable start)(package private) booleanisSetterSlot()Return true if this is a "setter slot" which, which we need to know for some legacy support.(package private) booleanisValueSlot()Return true if this is a base-class "Slot".booleansetValue(java.lang.Object value, Scriptable owner, Scriptable start, boolean isThrow)-
Methods inherited from class org.htmlunit.corejs.javascript.Slot
getAttributes, getGetterFunction, getSetterFunction, setAttributes, setValue, throwNoSetterException
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
getter
transient java.util.function.Supplier<java.lang.Object> getter
-
setter
transient java.util.function.Consumer<java.lang.Object> setter
-
-
Constructor Detail
-
LambdaSlot
LambdaSlot(Slot oldSlot)
-
-
Method Detail
-
isValueSlot
boolean isValueSlot()
Description copied from class:SlotReturn true if this is a base-class "Slot". Sadly too much code breaks if we try to do this any other way.- Overrides:
isValueSlotin classSlot
-
isSetterSlot
boolean isSetterSlot()
Description copied from class:SlotReturn true if this is a "setter slot" which, which we need to know for some legacy support.- Overrides:
isSetterSlotin classSlot
-
getPropertyDescriptor
ScriptableObject getPropertyDescriptor(Context cx, Scriptable scope)
- Overrides:
getPropertyDescriptorin classSlot
-
setValue
public boolean setValue(java.lang.Object value, Scriptable owner, Scriptable start, boolean isThrow)
-
getValue
public java.lang.Object getValue(Scriptable start)
-
-