org.eclipse.wst.jsdt.chromium

## Interface JsDeclarativeVariable

All Superinterfaces:
  JsVariable

    public interface JsDeclarativeVariable
    extends JsVariable

A variable from JavaScript declarative scope. This variable is backed by a property of any object, instead it is a variable that has been explicitly declared in program, for example with 'var' keyword.

This variable explicitly supports mutation operation.

See Also:
  `JsScope.Declarative}`

### Nested Class Summary

Nested Classes
`static interface` `JsDeclarativeVariable.SetValueCallback` A callback to use while setting a variable value.

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `isMutable()`
`RelayOk` `setValue(JsValue newValue, JsDeclarativeVariable.SetValueCallback callback, SyncCallback syncCallback)` Sets a new value for this variable.

### Methods inherited from interface org.eclipse.wst.jsdt.chromium.JsVariable

`asDeclarativeVariable, asObjectProperty, getName, getValue`

### Method Detail

#### isMutable

    boolean isMutable()

Returns:
  whether it is possible to modify this variable

#### setValue

    RelayOk setValue(JsValue newValue,
                     JsDeclarativeVariable.SetValueCallback callback,
                     SyncCallback syncCallback)
              throws java.lang.UnsupportedOperationException

Sets a new value for this variable.

Parameters:
  `newValue` - to set
  `callback` - to report the operation result to
  `syncCallback` - to report the end of any processing
Throws:
  `java.lang.UnsupportedOperationException` - if this variable is not mutable
See Also:
  `isMutable()`