Package twisted :: Package persisted :: Module styles :: Class Versioned

[show private | hide private]
[frames | no frames]

## Class Versioned

Known Subclasses:
  `ApplicationService`, `File`, `Service`, `Participant`, `Application`, `Componentized`, `BrokerFactory`, `ResourcePublisher`, `Registry`, `Group`, `WebWordsAdminSite`, `ParticipantListWidget`, `WordsGadget`, `AccountCreationWidget`

This type of object is persisted with versioning information.

I have a single class attribute, the int persistenceVersion. After I am unserialized (and styles.doUpgrade() is called), self.upgradeToVersionX() will be called for each version upgrade I must undergo.

For example, if I serialize an instance of a Foo(Versioned) at version 4 and then unserialize it when the code is at version 9, the calls:

     self.upgradeToVersion5()
     self.upgradeToVersion6()
     self.upgradeToVersion7()
     self.upgradeToVersion8()
     self.upgradeToVersion9()

will be made. If any of these methods are undefined, a warning message will be printed.

Method Summary
| ``__getstate__`(self, dict)` Get state, adding a version number to it on its way out.
| `__setstate__(self, state)`
| ``versionUpgrade`(self)` (internal) Do a version upgrade.

Class Variable Summary
`int` | `persistenceVersion`

Method Details

### __getstate__(self, dict=None)

Get state, adding a version number to it on its way out.

### versionUpgrade(self)

(internal) Do a version upgrade.

Class Variable Details

### persistenceVersion

  Type:
    `int`
  Value:

        1

Generated by Epydoc 1.1 on Sat Feb 15 21:17:57 2003 | http://epydoc.sf.net