MetacelloValidationIssue.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 05 Sep 2012 16:35:54 +0000
changeset 7 759ff40b4754
parent 1 9e312de5f694
permissions -rw-r--r--
- stx_goodies_metacello_stx added: #extensionMethodNames changed: #classNamesAndAttributes #preRequisites

"{ Package: 'stx:goodies/metacello' }"

Object subclass:#MetacelloValidationIssue
	instanceVariableNames:'configurationClass explanation reasonCode callSite'
	classVariableNames:''
	poolDictionaries:''
	category:'Metacello-Core-Validation'
!


!MetacelloValidationIssue class methodsFor:'instance creation'!

configurationClass: aClass reasonCode: aSymbol callSite: aCallSite explanation: aString

	^(self new)
		configurationClass: aClass;
		reasonCode: aSymbol;
		callSite: aCallSite;
		explanation: aString;
		yourself
! !

!MetacelloValidationIssue methodsFor:'accessing'!

callSite
	^ callSite
!

callSite: anObject
	callSite := anObject
!

configurationClass
	^ configurationClass
!

configurationClass: aClass
	configurationClass := aClass
!

explanation
	^ explanation
!

explanation: aString
	explanation := aString
!

label

	^''
!

reasonCode

	reasonCode == nil ifTrue: [ reasonCode := #none ].
	^ reasonCode
!

reasonCode: anObject
	reasonCode := anObject
! !

!MetacelloValidationIssue methodsFor:'printing'!

printOn: aStream
	aStream
		nextPutAll: self label;
		nextPut: $:;
		space;
		nextPutAll: self explanation.
	self reasonCode ~~ #none
		ifTrue: [ 
			aStream
				space;
				nextPut: ${;
				space;
				nextPutAll: self reasonCode asString;
				space;
				nextPut: $} ].
	(self configurationClass ~~ nil or: [ self callSite ~~ nil ])
		ifTrue: [ 
			aStream
				space;
				nextPut: $[;
				space.
			self configurationClass ~~ nil
				ifTrue: [ 
					aStream
						nextPutAll: self configurationClass name asString;
						space ].
			self callSite ~~ nil
				ifTrue: [ 
					aStream
						nextPutAll: self callSite name asString;
						space ].
			aStream nextPut: $] ]
! !

!MetacelloValidationIssue methodsFor:'testing'!

isCritical

	^self isError or: [ self isCriticalWarning ]
!

isCriticalWarning

	^false
!

isError

	^false
!

isWarning

	^false
! !

!MetacelloValidationIssue class methodsFor:'documentation'!

version_SVN
    ^ '$Id::                                                                                                                        $'
! !