Tools__ToDoListEntry.st
author Claus Gittinger <cg@exept.de>
Sat, 10 Feb 2007 17:13:54 +0100
changeset 7644 ff0bb7053eae
parent 7530 030aee01ca59
child 7741 192a8979b9dd
permissions -rw-r--r--
*** empty log message ***

"{ Package: 'stx:libtool' }"

"{ NameSpace: Tools }"

Object subclass:#ToDoListEntry
	instanceVariableNames:'list stillValid severity priority timestamp message'
	classVariableNames:''
	poolDictionaries:''
	category:'Interface-Smalltalk-ToDo'
!


!ToDoListEntry methodsFor:'accessing'!

list:something
    list := something.
!

message
    ^ message
!

message:something
    message := something.
!

priority
    ^ priority ? 0

    "Modified: / 22-10-2006 / 11:09:36 / cg"
!

priority:priorityOrPrioritySymbol 
    priorityOrPrioritySymbol isSymbol ifTrue:[
        priorityOrPrioritySymbol == #low ifTrue:[
            priority := ToDoList lowPriority.
            ^ self.
        ].
        priorityOrPrioritySymbol == #medium ifTrue:[
            priority := ToDoList mediumPriority.
            ^ self.
        ].
        priorityOrPrioritySymbol == #high ifTrue:[
            priority := ToDoList highPriority.
            ^ self.
        ].
        self error:'bad argument'
    ].
    priority := priorityOrPrioritySymbol.
!

severity
    ^ severity ? 0

    "Modified: / 22-10-2006 / 11:09:42 / cg"
!

severity:severityOrSeveritySymbol
    severityOrSeveritySymbol isSymbol ifTrue:[
        severityOrSeveritySymbol == #info ifTrue:[
            severity := ToDoList infoSeverity.
            ^ self.
        ].
        severityOrSeveritySymbol == #warning ifTrue:[
            severity := ToDoList warningSeverity.
            ^ self.
        ].
        severityOrSeveritySymbol == #error ifTrue:[
            severity := ToDoList errorSeverity.
            ^ self.
        ].
        self error:'bad argument'
    ].
    severity := severityOrSeveritySymbol.
!

severity:severityArg priority:priorityArg timestamp:timestampArg message:messageArg 
    self severity:severityArg.
    self priority:priorityArg.
    timestamp := timestampArg.
    message := messageArg.
!

stillValid
    ^ stillValid ? true

    "Created: / 21-10-2006 / 20:45:33 / cg"
!

time
    ^ timestamp asTime

    "Created: / 21-10-2006 / 20:58:14 / cg"
!

timestamp
    ^ timestamp
! !

!ToDoListEntry methodsFor:'duplicate detection'!

isAlreadyPresentIn:aList
    ^ aList contains:[:anEntry | anEntry sameAs:self ].

    "Created: / 21-10-2006 / 21:36:57 / cg"
!

sameAs:anotherEntry
    self subclassResponsibility

    "Created: / 21-10-2006 / 21:37:42 / cg"
!

sameAsCompilerWarningToDoListEntry:anotherEntry
    ^ false

    "Created: / 21-10-2006 / 21:40:47 / cg"
! !

!ToDoListEntry methodsFor:'initialization'!

initialize
    severity := Tools::ToDoList warningSeverity.
    priority := Tools::ToDoList highPriority.
    timestamp := Timestamp now.
    message := 'Check this'

    "Created: / 20-11-2006 / 15:00:39 / cg"
! !

!ToDoListEntry methodsFor:'misc'!

browse
    self subclassResponsibility

    "Created: / 22-10-2006 / 01:37:42 / cg"
! !

!ToDoListEntry methodsFor:'printing & storing'!

printOn:aStream
    aStream nextPutAll:message

    "Created: / 21-10-2006 / 23:13:39 / cg"
! !

!ToDoListEntry methodsFor:'validation'!

checkIfStillValid
    self subclassResponsibility

    "Created: / 21-10-2006 / 21:30:29 / cg"
!

revalidate
    self checkIfStillValid ifFalse:[
        stillValid := false.
        list removeIdentical:self ifAbsent:[].
        Smalltalk removeDependent:self.
    ].

    "Created: / 21-10-2006 / 20:46:03 / cg"
    "Modified: / 21-10-2006 / 22:00:52 / cg"
! !

!ToDoListEntry class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libtool/Tools__ToDoListEntry.st,v 1.3 2007-02-10 16:13:54 cg Exp $'
! !