(none) jk_new_structure
authorvranyj1
Sun, 30 Oct 2011 17:30:47 +0000
branchjk_new_structure
changeset 1061 59aed4985b1d
parent 1060 c3ac98001802
child 1062 69aac7194016
(none)
src/extensions.st
--- a/src/extensions.st	Sun Oct 30 17:12:34 2011 +0000
+++ b/src/extensions.st	Sun Oct 30 17:30:47 2011 +0000
@@ -12,6 +12,30 @@
 ! !
 !CharacterArray methodsFor:'java conversions'!
 
+asDottedJavaClassName
+
+ "
+    examples:
+    java.lang.String    
+    [[[Ljava/lang/Object; => java.lang.Object
+    "
+
+
+    | nm |
+    nm := self asJavaComponentClassName.
+    (nm startsWith: $L) ifTrue: [
+        nm := nm copyFrom: 2 to: nm size - 1
+    ].
+    (nm includes: $/) ifTrue: [
+        nm := nm asString copyReplaceAll: $/ with: $.
+    ].
+    ^ nm.
+
+    "Created: / 21-10-2011 / 12:31:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Created: / 30-10-2011 / 17:41:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!CharacterArray methodsFor:'java conversions'!
+
 asInternalJavaClassName
 
     <resource: #obsolete>
@@ -69,6 +93,23 @@
     ].
     ^internalName.
 ! !
+!CharacterArray methodsFor:'java conversions'!
+
+asSlashedJavaClassName
+    "removes square brackets and adds slashes"
+    | internalName |
+    internalName := self asJavaComponentClassName.
+    (internalName startsWith: $L) ifTrue: [
+        internalName := internalName copyFrom: 2 to: internalName size - 1
+    ].
+    (internalName includes: $.) ifTrue: [
+        internalName := internalName asString copyReplaceAll: $. with: $/
+    ].
+    ^ internalName.
+
+    "Created: / 21-10-2011 / 12:31:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Created: / 30-10-2011 / 17:40:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
 !CharacterArray methodsFor:'java queries'!
 
 isJavaArrayDescriptor