--- a/src/JavaClassAccessor.st Mon Mar 19 09:19:05 2012 +0000
+++ b/src/JavaClassAccessor.st Mon Mar 19 15:31:04 2012 +0000
@@ -21,7 +21,7 @@
"{ Package: 'stx:libjava' }"
Object subclass:#JavaClassAccessor
- instanceVariableNames:'name fullName package'
+ instanceVariableNames:'name fullName package loading'
classVariableNames:''
poolDictionaries:''
category:'Languages-Java-Classes'
@@ -79,7 +79,14 @@
| cls |
cls := self theClassOrNil.
- cls isNil ifTrue:[cls := Java classForName: (fullName copyReplaceAll: $/ with: $.)].
+ cls isNil ifTrue:[
+ [
+ loading := true.
+ cls := Java classForName: (fullName copyReplaceAll: $/ with: $.)
+ ] ensure:[
+ loading := false
+ ].
+ ].
^cls
"Created: / 28-02-2012 / 19:22:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -157,6 +164,15 @@
^true
"Created: / 28-02-2012 / 20:08:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isLoaded
+
+ loading ifTrue:[ ^ false ].
+ self theClass. "/Force load"
+ ^true
+
+ "Created: / 19-03-2012 / 10:44:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaClassAccessor class methodsFor:'documentation'!