Interface ValueRef
- All Known Implementing Classes:
- ValueRef.NullValueRef,- ValueRef.TypedValueHolderValueRef
public interface ValueRef
Represents a reference to a value.  With a reference it is possible to get or set the
 value. Passing around value references rather than the values themselves can avoid
 incorrect duplication of operand evaluation. For example in 'list[index++]++' without
 a value reference for 'list[index++]' it would be necessary to evaluate list[index++]
 twice (once to get the value, once to determine where the value goes) and that would
 double increment index.
- Since:
- 3.2
- Author:
- Andy Clement
- 
Nested Class SummaryNested ClassesModifier and TypeInterfaceDescriptionstatic classA ValueRef for the null value.static classA ValueRef holder for a single value, which cannot be set.
- 
Method SummaryModifier and TypeMethodDescriptiongetValue()Returns the value this ValueRef points to, it should not require expression component re-evaluation.booleanIndicates whether calling setValue(Object) is supported.voidSets the value this ValueRef points to, it should not require expression component re-evaluation.
- 
Method Details- 
getValueTypedValue getValue()Returns the value this ValueRef points to, it should not require expression component re-evaluation.- Returns:
- the value
 
- 
setValueSets the value this ValueRef points to, it should not require expression component re-evaluation.- Parameters:
- newValue- the new value
 
- 
isWritableboolean isWritable()Indicates whether calling setValue(Object) is supported.- Returns:
- true if setValue() is supported for this value reference.
 
 
-