IviServiceNonNullPropertyDelegate

Property delegate for non-null IVI service properties, except MirrorableMap.

The purpose of this property delegate is twofold:

  1. Notify an observer of property changes

  2. Keep the generated Base classes free of initial values.

The latter is achieved by using a lateinit prop below and allow the IviServiceBase class to check through isInitialized if all properties are neatly initialized by the IVI service before marking the service initialized.

For nullable properties, see IviServiceNullablePropertyDelegate For MirrorableMap properties, see IviServiceNonNullMirrorableMapPropertyDelegate and IviServiceNullableMirrorableMapPropertyDelegate

Constructors

Link copied to clipboard
fun IviServiceNonNullPropertyDelegate(observer: ChangeHandler<T>)

Inherited properties

Link copied to clipboard
open override var afterChange: ChangeHandler<T>?

When not null, this callback is invoked after an IVI service interface property has changed and the new value is propagated to clients.

Link copied to clipboard
open override var beforeChange: ChangeHandler<T>?

When not null, this callback is invoked when an IVI service interface property has changed, before the actual property value is changed and the new value is propagated to clients.

Functions

Link copied to clipboard
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
Link copied to clipboard
open override fun isInitialized(): Boolean

Return if the property is initialised or not

Link copied to clipboard
operator fun setValue(    thisRef: Any?,     property: KProperty<*>,     value: T)