JavaPathElement.st
author Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
Tue, 18 Dec 2012 19:02:51 +0100
branchdevelopment
changeset 1910 278ceba64f94
parent 1864 60a8dc26c8c6
permissions -rw-r--r--
testing jenkins automatic builds
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     1
"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     3
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     4
 New code and modifications done at SWING Research Group [1]:
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     5
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     6
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     7
                            SWING Research Group, Czech Technical University in Prague
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     8
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
     9
 This software is furnished under a license and may be used
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    10
 only in accordance with the terms of that license and with the
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    12
 be provided or otherwise made available to, or used by, any
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    13
 other person.  No title to or ownership of the software is
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    14
 hereby transferred.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    15
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    16
 [1] Code written at SWING Research Group contains a signature
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    17
     of one of the above copright owners. For exact set of such code,
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    18
     see the differences between this version and version stx:libjava
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    19
     as of 1.9.2010
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    20
"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    21
"{ Package: 'stx:libjava' }"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    22
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    23
Object subclass:#JavaPathElement
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
    24
	instanceVariableNames:'name pathName enabled origin'
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    25
	classVariableNames:'OriginRelease OriginEnvironment OriginPackage OriginUser'
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    26
	poolDictionaries:''
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    27
	category:'Languages-Java-Support'
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    28
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    29
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    30
!JavaPathElement class methodsFor:'documentation'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    31
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    32
copyright
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    33
"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    34
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    35
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    36
 New code and modifications done at SWING Research Group [1]:
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    37
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    38
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    39
                            SWING Research Group, Czech Technical University in Prague
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    40
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    41
 This software is furnished under a license and may be used
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    42
 only in accordance with the terms of that license and with the
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    43
 inclusion of the above copyright notice.   This software may not
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    44
 be provided or otherwise made available to, or used by, any
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    45
 other person.  No title to or ownership of the software is
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    46
 hereby transferred.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    47
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    48
 [1] Code written at SWING Research Group contains a signature
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    49
     of one of the above copright owners. For exact set of such code,
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    50
     see the differences between this version and version stx:libjava
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    51
     as of 1.9.2010
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    52
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    53
"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    54
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    55
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    56
documentation
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    57
"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    58
    JavaPathElement represents a single element in 'java paths' (Java classPath and
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    59
    Java sourcePath). The aim is to support easy configuration of libjava and storing
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    60
    paths in preferences.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    61
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    62
    [author:]
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    63
        Jan Vrany <jan.vrany@fit.cvut.cz>
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    64
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    65
    [instance variables:]
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
    66
        name ...... human-readable name of the entry - displayed by the UI
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    67
        pathName .. path to the file/directory the element represents
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    68
        enable .... whether the elements should be used or not (allows for
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    69
                    keeping path elements in prefs but not using them)
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    70
        origin .... one of #jdk #package or #user
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    71
                    #release... this element is part of java release (such as rt.jar)
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    72
                    #env ...... this element comes from environment (CLASSPATH)
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    73
                    #package .. this element was defined by some smalltalk package
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    74
                                that uses libjava (see ProjectDefinition>>javaClassPath/javaSourcePath)
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    75
                    #user ..... user-defined element (only thise are stored in preferences
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    76
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    77
    [class variables:]
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    78
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    79
    [see also:]
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    80
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    81
"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    82
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    83
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    84
!JavaPathElement class methodsFor:'initialization'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    85
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    86
initialize
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    87
    "Invoked at system start or when the class is dynamically loaded."
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    88
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    89
    "/ please change as required (and remove this comment)
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    90
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    91
    OriginRelease := #release.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    92
    OriginEnvironment := #environment.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    93
    OriginPackage := #package.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    94
    OriginUser := #user.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    95
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    96
    "Modified: / 27-07-2012 / 11:51:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    97
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    98
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
    99
!JavaPathElement class methodsFor:'accessing-constants'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   100
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   101
originEnvironment
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   102
    ^OriginEnvironment
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   103
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   104
    "Created: / 27-07-2012 / 11:51:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   105
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   106
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   107
originPackage
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   108
    ^OriginPackage
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   109
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   110
    "Created: / 27-07-2012 / 11:51:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   111
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   112
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   113
originRelease
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   114
    ^OriginRelease
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   115
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   116
    "Created: / 27-07-2012 / 11:51:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   117
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   118
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   119
originUser
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   120
    ^OriginUser
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   121
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   122
    "Created: / 27-07-2012 / 11:51:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   123
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   124
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   125
!JavaPathElement class methodsFor:'instance'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   126
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   127
new: pathName
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   128
    ^self new: pathName origin: OriginUser
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   129
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   130
    "Created: / 27-07-2012 / 11:42:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   131
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   132
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   133
new: pathName origin: origin
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   134
    ^self new
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   135
        pathName: pathName;
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   136
        origin: origin;
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   137
        yourself
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   138
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   139
    "Created: / 27-07-2012 / 11:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   140
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   141
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   142
new: pathName origin: origin name: name
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   143
    ^self new
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   144
        pathName: pathName;
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   145
        origin: origin;
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   146
        name: name;
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   147
        yourself
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   148
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   149
    "Created: / 10-08-2012 / 19:07:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   150
!
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   151
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   152
newFromEnvironment: pathName
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   153
    ^self new: pathName origin: OriginEnvironment
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   154
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   155
    "Created: / 27-07-2012 / 11:43:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   156
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   157
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   158
newFromPackage: pathName
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   159
    ^self new: pathName origin: OriginPackage
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   160
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   161
    "Created: / 27-07-2012 / 11:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   162
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   163
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   164
newFromRelease:pathName 
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   165
    ^ self new:pathName origin: OriginRelease
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   166
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   167
    "Created: / 27-07-2012 / 11:43:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   168
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   169
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   170
newFromUser: pathName
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   171
    ^self new: pathName origin: OriginUser
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   172
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   173
    "Created: / 27-07-2012 / 11:43:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   174
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   175
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   176
!JavaPathElement methodsFor:'accessing'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   177
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   178
enabled
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   179
    ^ enabled ? true "/ enabled by default
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   180
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   181
    "Modified (comment): / 27-07-2012 / 11:26:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   182
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   183
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   184
enabled:aBoolean
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   185
    enabled := aBoolean.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   186
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   187
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   188
name
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   189
    ^ name notNil ifTrue:[name] ifFalse:[self nameDefault]
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   190
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   191
    "Modified: / 10-08-2012 / 19:21:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   192
!
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   193
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   194
name:aString
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   195
    name := aString.
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   196
!
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   197
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   198
nameDefault
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   199
    ^ pathName ? '???'
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   200
"/    pathName isNil ifTrue:[ ^ '???' ].
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   201
"/    ^ pathName asFilename baseName
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   202
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   203
    "Created: / 10-08-2012 / 19:02:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   204
!
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   205
1595
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   206
nameOrNil
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   207
    ^ name
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   208
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   209
    "Created: / 13-08-2012 / 22:50:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   210
!
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   211
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   212
origin
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   213
    ^ origin
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   214
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   215
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   216
origin: newOrigin
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   217
    self assert: origin isNil description: 'Trying to set origin twice'.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   218
    self assert: (newOrigin == OriginRelease
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   219
                    or:[newOrigin == OriginEnvironment
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   220
                    or:[newOrigin == OriginPackage
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   221
                    or:[newOrigin == OriginUser]]]) description:'Unknown/Unssuported path element origin ' , newOrigin printString.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   222
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   223
    origin := newOrigin.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   224
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   225
    "Modified: / 27-07-2012 / 12:17:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   226
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   227
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   228
pathName
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   229
    ^ pathName
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   230
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   231
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   232
pathName:aString
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   233
"/    self assert: pathName isNil description: 'Trying to set pathName twice'.
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   234
    pathName := aString.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   235
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   236
    "Modified: / 10-08-2012 / 19:14:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   237
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   238
1585
vranyj1
parents: 1557
diff changeset
   239
!JavaPathElement methodsFor:'comparing'!
vranyj1
parents: 1557
diff changeset
   240
vranyj1
parents: 1557
diff changeset
   241
= another
vranyj1
parents: 1557
diff changeset
   242
1595
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   243
    ^another class == self class
164250a2ca43 - JavaPathElement
vranyj1
parents: 1591
diff changeset
   244
        and:[self nameOrNil = another nameOrNil
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   245
            and:[ pathName = another pathName
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   246
                and:[self enabled = another enabled
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   247
                    and:[origin = another origin]]]]
1585
vranyj1
parents: 1557
diff changeset
   248
vranyj1
parents: 1557
diff changeset
   249
    "Created: / 02-08-2012 / 09:50:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 1557
diff changeset
   250
!
vranyj1
parents: 1557
diff changeset
   251
vranyj1
parents: 1557
diff changeset
   252
hash
1591
f5b78c5ef516 - JavaPathElement
vranyj1
parents: 1585
diff changeset
   253
    ^name hash bitXor:(pathName hash bitXor:(enabled hash bitXor: origin hash))
1585
vranyj1
parents: 1557
diff changeset
   254
vranyj1
parents: 1557
diff changeset
   255
    "Created: / 02-08-2012 / 09:49:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 1557
diff changeset
   256
! !
vranyj1
parents: 1557
diff changeset
   257
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   258
!JavaPathElement methodsFor:'conversion'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   259
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   260
asFilename
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   261
    ^pathName asFilename
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   262
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   263
    "Created: / 27-07-2012 / 11:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   264
!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   265
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   266
asString
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   267
    ^pathName
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   268
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   269
    "Created: / 27-07-2012 / 11:27:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   270
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   271
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   272
!JavaPathElement methodsFor:'printing & storing'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   273
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   274
printOn:aStream
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   275
    "append a printed representation if the receiver to the argument, aStream"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   276
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   277
    self enabled ifTrue:[
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   278
        aStream nextPutAll:'[X] '
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   279
    ] ifFalse:[
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   280
           aStream nextPutAll:'[ ] '
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   281
    ].    
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   282
    pathName printOn:aStream.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   283
    aStream space; nextPut:${.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   284
    origin printOn:aStream.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   285
    aStream nextPut:$}.
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   286
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   287
    "Modified: / 27-07-2012 / 12:25:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   288
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   289
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   290
!JavaPathElement class methodsFor:'documentation'!
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   291
1864
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   292
version_HG
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   293
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   294
    ^ '$Changeset: <not expanded> $'
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   295
!
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   296
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   297
version_SVN
1864
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   298
    ^ '§Id::                                                                                                                        §'
1557
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   299
! !
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   300
e47ce26d5734 JavaRelease
vranyj1
parents:
diff changeset
   301
JavaPathElement initialize!