JavaClassAccessor.st
branchdevelopment
changeset 2588 58b1e0fd20e7
parent 2429 ebece4dcaab9
child 2711 a00302fe5083
equal deleted inserted replaced
2584:af1783f58d87 2588:58b1e0fd20e7
    51      as of 1.9.2010
    51      as of 1.9.2010
    52 
    52 
    53 "
    53 "
    54 ! !
    54 ! !
    55 
    55 
    56 
       
    57 !JavaClassAccessor class methodsFor:'instance creation'!
    56 !JavaClassAccessor class methodsFor:'instance creation'!
    58 
    57 
    59 fullName: aSymbol
    58 fullName: aSymbol
    60 
    59 
    61     ^self new setFullName: aSymbol
    60     ^self new setFullName: aSymbol
    62 
    61 
    63     "Created: / 28-02-2012 / 19:20:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    62     "Created: / 28-02-2012 / 19:20:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    64 ! !
    63 ! !
    65 
       
    66 
    64 
    67 !JavaClassAccessor methodsFor:'accessing'!
    65 !JavaClassAccessor methodsFor:'accessing'!
    68 
    66 
    69 fullName
    67 fullName
    70     ^ fullName
    68     ^ fullName
    82 
    80 
    83     cls := self theClassOrNil.
    81     cls := self theClassOrNil.
    84     cls isNil ifTrue:[
    82     cls isNil ifTrue:[
    85         [ 
    83         [ 
    86             loading := true.
    84             loading := true.
    87             cls := Java classForName: (fullName copyReplaceAll: $/ with: $.)
    85             cls := JavaVM classForName: (fullName copyReplaceAll: $/ with: $.)
    88         ] ensure:[
    86         ] ensure:[
    89             loading := false
    87             loading := false
    90         ].
    88         ].
    91     ].
    89     ].
    92     ^cls
    90     ^cls
    93 
    91 
    94     "Created: / 28-02-2012 / 19:22:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    92     "Created: / 28-02-2012 / 19:22:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    93     "Modified: / 07-05-2013 / 11:20:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    95 !
    94 !
    96 
    95 
    97 theClassOrNil
    96 theClassOrNil
    98 
    97 
    99     | cls |
    98     | cls |
   110     ^cls
   109     ^cls
   111 
   110 
   112     "Created: / 28-02-2012 / 19:47:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   111     "Created: / 28-02-2012 / 19:47:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   113 ! !
   112 ! !
   114 
   113 
   115 
       
   116 !JavaClassAccessor methodsFor:'error handling'!
   114 !JavaClassAccessor methodsFor:'error handling'!
   117 
   115 
   118 doesNotUnderstand: aMessage
   116 doesNotUnderstand: aMessage
   119 
   117 
   120     ^aMessage sendTo: self theClass
   118     ^aMessage sendTo: self theClass
   121 
   119 
   122     "Created: / 28-02-2012 / 19:37:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   120     "Created: / 28-02-2012 / 19:37:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   123 ! !
   121 ! !
   124 
       
   125 
   122 
   126 !JavaClassAccessor methodsFor:'exception handling support'!
   123 !JavaClassAccessor methodsFor:'exception handling support'!
   127 
   124 
   128 isExceptionCreator
   125 isExceptionCreator
   129 
   126 
   138     ^self theClass isThrowable
   135     ^self theClass isThrowable
   139 
   136 
   140     "Created: / 18-03-2012 / 14:18:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   137     "Created: / 18-03-2012 / 14:18:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   141 ! !
   138 ! !
   142 
   139 
   143 
       
   144 !JavaClassAccessor methodsFor:'initialization'!
   140 !JavaClassAccessor methodsFor:'initialization'!
   145 
   141 
   146 setFullName: aSymbol
   142 setFullName: aSymbol
   147     fullName := aSymbol.
   143     fullName := aSymbol.
   148     name := 'JAVA::' , ((fullName tokensBasedOn: $/) asStringWith: '::')
   144     name := 'JAVA::' , ((fullName tokensBasedOn: $/) asStringWith: '::')
   149 
   145 
   150     "Created: / 28-02-2012 / 19:21:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   146     "Created: / 28-02-2012 / 19:21:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   151 ! !
   147 ! !
   152 
   148 
   153 
       
   154 !JavaClassAccessor methodsFor:'instance creation'!
   149 !JavaClassAccessor methodsFor:'instance creation'!
   155 
   150 
   156 basicNew
   151 basicNew
   157 
   152 
   158     ^self theClass basicNew
   153     ^self theClass basicNew
   174     ^self theClass basicNew
   169     ^self theClass basicNew
   175 
   170 
   176     "Created: / 28-02-2012 / 19:34:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   171     "Created: / 28-02-2012 / 19:34:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   177     "Modified: / 02-11-2012 / 21:09:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   172     "Modified: / 02-11-2012 / 21:09:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   178 ! !
   173 ! !
   179 
       
   180 
   174 
   181 !JavaClassAccessor methodsFor:'printing & storing'!
   175 !JavaClassAccessor methodsFor:'printing & storing'!
   182 
   176 
   183 printOn:aStream
   177 printOn:aStream
   184     aStream nextPutAll: 'JAVA '.
   178     aStream nextPutAll: 'JAVA '.
   187         separatedBy:[aStream space].
   181         separatedBy:[aStream space].
   188 
   182 
   189     "Modified: / 28-02-2012 / 20:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   183     "Modified: / 28-02-2012 / 20:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   190 ! !
   184 ! !
   191 
   185 
   192 
       
   193 !JavaClassAccessor methodsFor:'testing'!
   186 !JavaClassAccessor methodsFor:'testing'!
   194 
   187 
   195 isBehavior
   188 isBehavior
   196 
   189 
   197     ^true
   190     ^true
   220     ^true
   213     ^true
   221 
   214 
   222     "Created: / 19-03-2012 / 10:44:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   215     "Created: / 19-03-2012 / 10:44:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   223 ! !
   216 ! !
   224 
   217 
   225 
       
   226 !JavaClassAccessor class methodsFor:'documentation'!
   218 !JavaClassAccessor class methodsFor:'documentation'!
   227 
   219 
   228 version_CVS
   220 version_CVS
   229     ^ '$Header: /cvs/stx/stx/libjava/JavaClassAccessor.st,v 1.2 2013-02-25 11:15:31 vrany Exp $'
   221     ^ '$Header: /cvs/stx/stx/libjava/JavaClassAccessor.st,v 1.2 2013-02-25 11:15:31 vrany Exp $'
   230 !
   222 !