public interface NotifiableBinding

ExtendsBinding

Internal contract every generated Binding implementation provides so Binders#notifyChanged(Object) can route a model mutation to the bindings that observe it. Application code never references this directly – the Binding interface remains the public handle returned from Binders.bind.

Methods

public abstract String modelTypeName()model.getClass().getName() – the registry key Binders.notifyChanged uses to find the bindings that care about this model class.
public abstract boolean matches(Object model)True when this binding’s source object IS model (identity, not equality).

Inherited methods

Method details

modelTypeName

public abstract String modelTypeName()
model.getClass().getName() – the registry key Binders.notifyChanged uses to find the bindings that care about this model class. Stored at bind time so it survives obfuscation: the value is whatever getName() returned at bind, which is guaranteed to match notifyChanged’s lookup within a single execution.

matches

public abstract boolean matches(Object model)
True when this binding’s source object IS model (identity, not equality). The notification fan-out uses identity so multiple independent instances of the same @Bindable class don’t refresh each other.