"{ Encoding: utf8 }"
"{ Package: 'stx:goodies/monticello' }"
"{ NameSpace: Smalltalk }"
MCVersionInfo subclass:#MCLazyVersionInfo
instanceVariableNames:'ancestorsProps stepChildrenProps'
classVariableNames:''
poolDictionaries:''
category:'SCM-Monticello-St/X support'
!
!MCLazyVersionInfo class methodsFor:'instance creation'!
withProperties: properties
^self new initializeWithProperties: properties
"Created: / 28-10-2010 / 15:34:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!MCLazyVersionInfo methodsFor:'accessing'!
ancestors
ancestors ifNil:
[ancestorsProps ifNotNil:
[ancestors := ancestorsProps collect:[:p|MCLazyVersionInfo withProperties:p].
ancestorsProps := nil]].
^super ancestors
"Created: / 28-10-2010 / 17:51:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
species
"Make this class equivalent to a MCVersionInfo in all regards."
^ self class superclass
!
stepChildren
stepChildren ifNil:
[stepChildrenProps ifNotNil:
[stepChildren := stepChildrenProps collect:[:p|MCLazyVersionInfo withProperties:p].
stepChildrenProps := nil]].
^super stepChildren
"Created: / 28-10-2010 / 17:52:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!MCLazyVersionInfo methodsFor:'initialization'!
initializeWithProperties: dict
name:= (dict at: #name ifAbsent: ['']).
id:= (UUID fromString: (dict at: #id)).
message:= (dict at: #message ifAbsent: ['']).
date:= ([Date fromString: (dict at: #date) ] on: Error do: [ :ex | ex return: nil ]).
time:= ([ Time fromString:(dict at: #time)] on: Error do: [ :ex | ex return: nil ]).
author:= (dict at: #author ifAbsent: ['']).
ancestorsProps:= dict at: #ancestors ifAbsent:[#()].
stepChildrenProps:= dict at: #stepChildren ifAbsent: [#()].
"Created: / 28-10-2010 / 15:36:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 28-10-2010 / 17:49:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!MCLazyVersionInfo class methodsFor:'documentation'!
version
^ '$Header$'
!
version_CVS
^ '$Header$'
!
version_SVN
^ '$Id$'
! !