# Class e.c.u.b.Bindable(Loggable):

Part of elisa.core.utils.bindable View In Hierarchy

Known subclasses: elisa.core.components.model.Model

A Bindable instance can have its attributes replicated into ones of other objects. All modifications to the attributes are directly reflected.

Line # | Kind | Name | Docs
--- | --- | --- | ---
30 | Method | __init__ | Undocumented
34 | Method | bind | Bind a local `attribute` to `destination_attribute` of
73 | Method | unbind | Remove the binding of `attribute` to `destination_attribute` of
104 | Method | unbind_object | Remove all the bindings you have for a certain `destination_object`.
118 | Method | __setattr__ | Undocumented
136 | Method | __delattr__ | Undocumented

def __init__(self):
overrides elisa.core.log.Loggable.__init__
overridden in elisa.plugins.amazon.models.AmazonItemListModel, elisa.plugins.amazon.models.AmazonItemModel, elisa.plugins.avahi.models.DomainModel, elisa.plugins.avahi.models.NetworkOverviewModel, elisa.plugins.base.models.audio.AlbumModel, elisa.plugins.base.models.audio.ArtistModel, elisa.plugins.base.models.audio.TrackModel, elisa.plugins.base.models.device.DeviceModel, elisa.plugins.base.models.device.DevicesModel, elisa.plugins.base.models.file.FileModel, elisa.plugins.base.models.image.ImageModel, elisa.plugins.base.models.media.PlayableModel, elisa.plugins.base.models.media.RawDataModel, elisa.plugins.base.models.network.NetworkServiceModel, elisa.plugins.base.models.video.VideoModel, elisa.plugins.coherence.models.UpnpContainerModel, elisa.plugins.coherence.models.UpnpItemModel, elisa.plugins.coherence.models.UpnpModel, elisa.plugins.daap.models.DaapArtistListModel, elisa.plugins.daap.models.DaapModel, elisa.plugins.database.scanner_models.ScanResource, elisa.plugins.database.scanner_models.Statistic, elisa.plugins.dvd.dvdcontroller.DvdMenuModel, elisa.plugins.filtered_shares.models.FilteredSharesModel, elisa.plugins.flickr.controller.FlickrEntryPointModel, elisa.plugins.flickr.models.FlickrPhotoModel, elisa.plugins.flickr.models.FlickrTagModel, elisa.plugins.ipod.models.IpodAlbumListModel, elisa.plugins.ipod.models.IpodArtistListModel, elisa.plugins.ipod.models.IpodSongListModel, elisa.plugins.ipod.models.IpodTrackListModel, elisa.plugins.search.models.MusicSearchResultModel, elisa.plugins.shoutcast.models.ShoutcastGenreModel, elisa.plugins.shoutcast.models.ShoutcastGenresModel, elisa.plugins.shoutcast.models.ShoutcastRadioStationModel, elisa.plugins.smbwin32.models.ServicesContainer, elisa.plugins.yesfm.models.GeneralSearchResultModel, elisa.plugins.yesfm.models.LoginModel, elisa.plugins.yesfm.models.SearchResultModel, elisa.plugins.youtube.controller.YoutubeVideoFeedModel, elisa.plugins.youtube.models.YoutubeVideoListModel
Undocumented
def bind(self, attribute, destination_object, destination_attribute):
Bind a local `attribute` to `destination_attribute` of `destination_object`.

Parameters | attribute | local attribute to bind (type: str )
Raises | NotBindable | when you try to bind a private attribute (beginning with an underscore)

def unbind(self, attribute, destination_object, destination_attribute):

Remove the binding of `attribute` to `destination_attribute` of `destination_object`.

If you want to unbind the whole destination_object you should use the `unbind_object` method instead.

Parameters | attribute | local attribute to unbind (type: str )
Raises | NotBoundError | when you try to unbind something that is not bound

def unbind_object(self, destination_object):
Remove all the bindings you have for a certain `destination_object`.

def __setattr__(self, attribute, new_value):
Undocumented
def __delattr__(self, attribute):
Undocumented