# Class e.c.c.m.Model(Bindable):

Part of elisa.core.components.model View In Hierarchy

Known subclasses: 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.list_model.ListModel, 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.FlickrResponseModel, 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.raval.location_model.LocationModel, elisa.plugins.raval.manager_model.ManagerModel, 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.weather.report_provider.WeatherReportModel, 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

A model is a data representation of a resource requested with a `uri`.

This one is just a general meta class, don't use it directly but create your own class inheriting from this one.

*Conventions*:

- the classname of a model should always end with 'Model' (e.g. AlbumModel or TrackModel).
- all models inherit (directly or indirectly) from this model
- the data fields of a model are set to `None` at initialization time
- list fields are set to an empty list at initialization time

A model is a `elisa.core.utils.bindable.Bindable` so that everyone can be informed about changes with this system (especially interesting for UIs).