# 11. API: DbObjectType Objects

Note

This object is an extension to the DB API. It is returned by the `Connection.gettype()` call and is available as the `Variable.type` for variables containing Oracle Database objects.

## 11.1. DbObjectType Methods

DbObjectType([sequence])

  The object type may be called directly and serves as an alternative way of calling `newobject()`.

DbObjectType.newobject([sequence])

  Returns a new Oracle object of the given type. This object can then be modified by setting its attributes and then bound to a cursor for interaction with Oracle. If the object type refers to a collection, a sequence may be passed and the collection will be initialized with the items in that sequence.

## 11.2. DbObjectType Attributes

DbObjectType.attributes

  This read-only attribute returns a list of the attributes that make up the object type.

DbObjectType.element_type

  This read-only attribute returns the type of elements found in collections of this type, if `iscollection` is True; otherwise, it returns None. If the collection contains objects, this will be another object type; otherwise, it will be one of the database type constants.

DbObjectType.iscollection

  This read-only attribute returns a boolean indicating if the object type refers to a collection or not.

DbObjectType.name

  This read-only attribute returns the name of the type.

DbObjectType.package_name

  This read-only attribute returns the name of the package, if the type refers to a PL/SQL type (otherwise, it returns the value None).

DbObjectType.schema

  This read-only attribute returns the name of the schema that owns the type.

## 11.3. DbObject Objects

Note

This object is an extension to the DB API. It is returned by the `DbObjectType.newobject()` call and can be bound to variables of type `OBJECT`. Attributes can be retrieved and set directly.

### 11.3.1. DbObject Methods

DbObject.append(element)

  Appends an element to the collection object. If no elements exist in the collection, this creates an element at index 0; otherwise, it creates an element immediately following the highest index available in the collection.

DbObject.asdict()

  Returns a dictionary where the collection’s indexes are the keys and the elements are its values.

DbObject.aslist()

  Returns a list of each of the collection’s elements in index order.

DbObject.copy()

  Creates a copy of the object and returns it.

DbObject.delete(index)

  Deletes the element at the specified index of the collection. If the element does not exist or is otherwise invalid, an error is raised. Note that the indices of the remaining elements in the collection are not changed. In other words, the delete operation creates holes in the collection.

DbObject.exists(index)

  Returns True or False indicating if an element exists in the collection at the specified index.

DbObject.extend(sequence)

  Appends all of the elements in the sequence to the collection. This is the equivalent of performing `append()` for each element found in the sequence.

DbObject.first()

  Returns the index of the first element in the collection. If the collection is empty, None is returned.

DbObject.getelement(index)

  Returns the element at the specified index of the collection. If no element exists at that index, an exception is raised.

DbObject.last()

  Returns the index of the last element in the collection. If the collection is empty, None is returned.

DbObject.next(index)

  Returns the index of the next element in the collection following the specified index. If there are no elements in the collection following the specified index, None is returned.

DbObject.prev(index)

  Returns the index of the element in the collection preceding the specified index. If there are no elements in the collection preceding the specified index, None is returned.

DbObject.setelement(index, value)

  Sets the value in the collection at the specified index to the given value.

DbObject.size()

  Returns the number of elements in the collection.

DbObject.trim(num)

  Removes the specified number of elements from the end of the collection.

### 11.3.2. DbObject Attributes

DbObject.Type

  This read-only attribute returns an ObjectType corresponding to the type of object.

## 11.4. DbObjectAttribute Objects

Note

This object is an extension to the DB API. The elements of `DbObjectType.attributes` are instances of this type.

DbObjectAttribute.name

  This read-only attribute returns the name of the attribute.

DbObjectAttribute.type

  This read-only attribute returns the type of the attribute. This will be an Oracle Object Type if the variable binds Oracle objects; otherwise, it will be one of the database type constants.