groovy.model

## Class ClosureModel

- java.lang.Object
- - groovy.model.ClosureModel

All Implemented Interfaces:
  NestedValueModel, ValueModel

    public class ClosureModel
    extends java.lang.Object
    implements ValueModel, NestedValueModel

Represents a value model using a closure to extract the value from some source model and an optional write closure for updating the value.

Author:
  James Strachan

### Constructor Summary

Constructors
Constructor and Description
`ClosureModel(ValueModel sourceModel, Closure readClosure)`
`ClosureModel(ValueModel sourceModel, Closure readClosure, Closure writeClosure)`
`ClosureModel(ValueModel sourceModel, Closure readClosure, Closure writeClosure, java.lang.Class type)`

### Method Summary

All Methods Instance Methods Concrete Methods
`ValueModel` `getSourceModel()`
`java.lang.Class` `getType()`
`java.lang.Object` `getValue()`
`boolean` `isEditable()`
`void` `setValue(java.lang.Object value)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ClosureModel

    public ClosureModel(ValueModel sourceModel,
                        Closure readClosure)

#### ClosureModel

    public ClosureModel(ValueModel sourceModel,
                        Closure readClosure,
                        Closure writeClosure)

#### ClosureModel

    public ClosureModel(ValueModel sourceModel,
                        Closure readClosure,
                        Closure writeClosure,
                        java.lang.Class type)

### Method Detail

#### getSourceModel

    public ValueModel getSourceModel()

Specified by:
  `getSourceModel` in interface `NestedValueModel`

#### getValue

    public java.lang.Object getValue()

Specified by:
  `getValue` in interface `ValueModel`

#### setValue

    public void setValue(java.lang.Object value)

Specified by:
  `setValue` in interface `ValueModel`

#### getType

    public java.lang.Class getType()

Specified by:
  `getType` in interface `ValueModel`

#### isEditable

    public boolean isEditable()

Specified by:
  `isEditable` in interface `ValueModel`