DataObject - Абстрактный объект данных
================================================

.. currentmodule:: axioma.core.dp

.. class:: DataObject

	Абстрактный объект данных. Открываемые объекты из источников данных :class:`~axioma.core.dp.DataSource` представляются объектами этого типа.
	Возможные реализации: таблица, растр, грид, чертеж, панорама, и так далее.
	
	От него наследуются:

	* :class:`~axioma.core.dp.Table`
	* :class:`~axioma.core.dp.RasterDataObject`

		.. method:: DataObject()

			Конструктор класса

		.. method:: accessMode()

			Эта функция выдает режим доступа к объекту данных: только на чтение, или на чтение и запись

			:return: Текущий установленный режим доступа
			:rtype: :class:`~axioma.core.dp.AccessMode`

		.. method:: isSpatial()

			Пространственность объекта данных

			:return: `True`, если объект может содержать пространственные данные, иначе `False`
			:rtype: :class:`bool`

		.. method:: name()

			Название объекта данных

			:return: Строка с названием объекта данных
			:rtype: :class:`str`

		.. method:: setName(name)

			Устанавливает название объекта данных

			:param name: новое имя объекта данных
			:type name: :class:`str`
			
		.. method:: dataObjectId()
		
			Идентификатор открытого объекта данных.
			
			:return: Уникальный номер первичного открытого объекта данных

		.. method:: definition()

			Описание объекта данных

			:return: Указатель на объект, реализующий интерфейс описания объекта данных
			:rtype: :class:`~axioma.core.dp.DataObjectDefinition`

		.. method:: originalObject()

			:return: Изначальный объект данных
			:rtype: :class:`~axioma.core.dp.DataObject`

		.. method:: originalSource()

			:return: Оригинальный источник данных
			:rtype: :class:`~axioma.core.dp.DataSource`

		.. method:: originalProvider()

			:return: провайдер изначального источника данных
			:rtype: :class:`~axioma.core.dp.DataProvider`

		.. method:: fullDataObjectTypeName()

			:return: Имя типа данных
			:rtype: :class:`str`

		.. method:: dependencies()

			:return: Метод возвращает список объектов данных, от которых зависит этот объект
			:rtype: :class:`list` [:class:`~axioma.core.dp.DataObject`]

		.. method:: properties()

			:return: Дополнительная информация об объекте данных
			:rtype: :class:`~axioma.core.dp.DataObjectProperties`

		.. method:: setProperties(properties)

			Задать дополнительную информацию об объекте данных

			:param properties: дополнительная информация
			:type properties: :class:`DataObjectProperties`

		.. method:: closeRequest()

			.. deprecated:: >2.0.2
				Используйте :meth:`close`

			Посылается запрос на закрытие. Перед закрытием необходимо корректно закрыть все зависимые объекты: карты, таблицы просмотра, запросы. После удовлетворения этих требований производится закрытие самого источника (таблицы).

		.. method:: close()

			.. versionadded:: >2.0.2

			Запрос на закрытие

		.. method:: releaseHeavyResources()

			Указать объекту данных, что можно освободить ненужные в данный момент ресурсы
			Можно вызывать эту функцию, например, для того, чтобы сообщить объекту данных, что
			в текущий момент он не отображается на карте

		.. method:: nameChanged()

			[signal] Сигнал смены имени

		.. method:: closeRequested()

			[signal] Запрошено закрытие
