Package twisted :: Package enterprise :: Module xmlreflector :: Class XMLReflector

[frames | no frames]

## Class XMLReflector

    Reflector --+
                |
               XMLReflector

Reflector for twisted.enterprise that uses XML files.

WARNING: this is an experimental piece of code. this reflector does not function completely yet! it is also very very slow.

Method Summary
| `__init__(self, baseDir, rowClasses)`
| ``_populate`(self)` load schema data
| `_rowLoader(self, tableName, parentRow, data, whereClause, forceChildren)`
| ``deleteRow`(self, rowObject)` delete the row for this object from the database.
| ``insertRow`(self, rowObject)` insert a new row for this object instance.
| ``loadObjectsFrom`(self, tableName, parentRow, data, whereClause, forceChildren)` The whereClause for XML loading is [(columnName, operation, value)] list of tuples
| `makeFilenameFor(self, rowObject)`
| ``updateRow`(self, rowObject)` update this rowObject to the database.
Inherited from Reflector
| ``__getstate__`(self)`
| ``__setstate__`(self, state)`
| ``addToCache`(self, rowObject)` NOTE: Should this be recursive?! requires better container knowledge...
| ``addToParent`(self, parentRow, rows, tableName)` util method used by reflectors.
| ``buildWhereClause`(self, relationship, row)` util method used by reflectors.
| ``findInCache`(self, rowClass, kw)`
| ``getTableInfo`(self, rowObject)` Get a TableInfo record about a particular instance.
| ``populateSchemaFor`(self, tableInfo)` This is called once for each registered rowClass to add it and its foreign key relationships for that rowClass to the schema.
| ``removeFromCache`(self, rowObject)` NOTE: should this be recursive!??

Class Variable Summary
`str` | `extension` = `'.xml'`
Inherited from Reflector
`int` | `populated` = 0

Method Details

### _populate(self)

load schema data

  Overrides:
    `twisted.enterprise.reflector.Reflector._populate`

### deleteRow(self, rowObject)

delete the row for this object from the database.

  Overrides:
    `twisted.enterprise.reflector.Reflector.deleteRow`

### insertRow(self, rowObject)

insert a new row for this object instance. do not include the "container" attribute.

  Overrides:
    `twisted.enterprise.reflector.Reflector.insertRow`

### loadObjectsFrom(self, tableName, parentRow=None, data=None, whereClause=None, forceChildren=1)

The whereClause for XML loading is [(columnName, operation, value)] list of tuples

  Overrides:
    `twisted.enterprise.reflector.Reflector.loadObjectsFrom`

### updateRow(self, rowObject)

update this rowObject to the database.

  Overrides:
    `twisted.enterprise.reflector.Reflector.updateRow`

Class Variable Details

### extension

  Type:
    `str`
  Value:

        '.xml'

Generated by Epydoc 2.0 on Sat May 15 20:08:16 2004 | http://epydoc.sf.net