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