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