BooleanValueHolder.st
author Claus Gittinger <cg@exept.de>
Sat, 12 May 2018 14:23:45 +0200
changeset 4088 bbf9b58f99c8
parent 3202 77a9af3ab997
permissions -rw-r--r--
#FEATURE by cg class: MIMETypes class changed: #initializeFileInfoMappings class: MIMETypes::MIMEType added: #asMimeType #isCHeaderType #isCPPSourceType #isCSourceType
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2008 by Claus Gittinger
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libview2' }"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
ValueHolder subclass:#BooleanValueHolder
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:''
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Interface-Support-Models'
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!BooleanValueHolder class methodsFor:'documentation'!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
copyright
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
 COPYRIGHT (c) 2008 by Claus Gittinger
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
              All Rights Reserved
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
 This software is furnished under a license and may be used
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 hereby transferred.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
documentation
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    a valueHolder holding a boolean.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    Mostly for documentation purposes and the assertion, that only boolean values
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    are held. Also provides convenient logical operations.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    [author:]
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
        Claus Gittinger
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
examples 
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
                                                                        [exBegin]
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
     |b nb|
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
     b := BooleanValueHolder new.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
     nb := b not.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
     b value:true.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
     nb value.     
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
     b value:false.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
     nb value.     
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
                                                                        [exEnd]
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
! !
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!BooleanValueHolder class methodsFor:'instance creation'!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
new
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    "return a new BooleanValueHolder holding false as initial value"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    ^ self with:false
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
! !
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
!BooleanValueHolder methodsFor:'accessing'!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
setValue:aBoolean
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    self assert:aBoolean isBoolean.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    value := aBoolean.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
! !
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
!BooleanValueHolder methodsFor:'logical operations'!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
& anotherBooleanValueHolder
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    "return another valueHolder, which returns the logical and of myself and another valueHolder"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
2464
0c5915ead66f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2452
diff changeset
    83
    ^ BooleanBlockValue 
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        forLogical:self and:anotherBooleanValueHolder
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    "
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
     |b1 b2 a|
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
     b1 := BooleanValueHolder new.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
     b2 := BooleanValueHolder new.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
     a := b1 & b2.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
     b1 value:false.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
     b2 value:true.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
     a value.      
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
     b1 value:true.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
     a value.     
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    "
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
2483
be285c88b641 cannot use not as selector - sigh !
Claus Gittinger <cg@exept.de>
parents: 2464
diff changeset
   100
logicalNot
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    "return another valueHolder, which returns the logical not of myself"
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
2464
0c5915ead66f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2452
diff changeset
   103
    ^ BooleanBlockValue forLogicalNot:self.
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    "
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
     |b nb|
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
     b := BooleanValueHolder new.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
     nb := b not.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
     b value:true.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
     nb value.     
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
     b value:false.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
     nb value.     
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    "
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
| anotherBooleanValueHolder
3202
77a9af3ab997 class: BooleanValueHolder
Claus Gittinger <cg@exept.de>
parents: 2483
diff changeset
   118
    "return another valueHolder, which returns the logical or of myself and another valueHolder"
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
2464
0c5915ead66f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2452
diff changeset
   120
    ^ BooleanBlockValue 
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
        forLogical:self or:anotherBooleanValueHolder
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    "
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
     |b1 b2 o|
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
     b1 := BooleanValueHolder new.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
     b2 := BooleanValueHolder new.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
     o := b1 | b2.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
     b1 value:false.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
     b2 value:false.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
     o value.      
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
     b1 value:true.
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
     o value.     
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    "
3202
77a9af3ab997 class: BooleanValueHolder
Claus Gittinger <cg@exept.de>
parents: 2483
diff changeset
   135
77a9af3ab997 class: BooleanValueHolder
Claus Gittinger <cg@exept.de>
parents: 2483
diff changeset
   136
    "Modified (comment): / 27-07-2013 / 09:55:01 / cg"
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
! !
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
!BooleanValueHolder class methodsFor:'documentation'!
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
version
3202
77a9af3ab997 class: BooleanValueHolder
Claus Gittinger <cg@exept.de>
parents: 2483
diff changeset
   142
    ^ '$Header: /cvs/stx/stx/libview2/BooleanValueHolder.st,v 1.4 2013-07-27 08:10:10 cg Exp $'
2452
2689659699e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
! !
3202
77a9af3ab997 class: BooleanValueHolder
Claus Gittinger <cg@exept.de>
parents: 2483
diff changeset
   144