All pastes #621784 Raw Edit

Anonymous

public python v1 · immutable
·published 2007-07-16 12:19 UTC
rendered paste body
class IChange(Interface):    """I introduce a change to the configuration.    If the change is an alteration of an existing setting, oldSetting    holds a reference to just that setting, and newSetting holds the    new version of the setting.  Both including- and excludingContainer    are None.    If the change removes a setting, newSetting is None, and    oldSetting points out the setting to be removed.  Since a setting    can only belong to a single container, there is no need to point    out witch container the setting should be removed from, therefor    both including- and excludingContainer are None.    If the change introduces a new setting, oldSetting is None and    newSetting holds the new setting, and includingContainer    references the container that will hold the setting.    If the change is to exclude a setting from a container, old- and    newSetting refers to the same setting, and excludingContainer    holds a reference to the container from which the setting should    be excluded.    If the change is to include a setting into a container, old- and    newSetting refers to the same setting, and includingContainer    holds a reference to the container that currently excludes the    setting.    A usecase:    An ExcludeRecord exist for setting S and container C.  To remove    it, the following change should be needed:      IChange(oldSetting=S, newSetting=S, includingContainer=C)    """    oldSetting = Attribute("Old setting")    newSetting = Attribute("New setting")    includingContainer = Attribute("Container to include setting")    excludingContainer = Attribute("Container to exclude setting")