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

[frames | no frames]

## Class Versioned

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

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
`tuple` | `persistenceForgets` = `()`
`int` | `persistenceVersion` = 0

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

### persistenceForgets

  Type:
    `tuple`
  Value:

        ()

### persistenceVersion

  Type:
    `int`
  Value:

        0

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