Unicode32String.st
author Claus Gittinger <cg@exept.de>
Thu, 30 Oct 2008 16:54:16 +0100
changeset 2048 c57b6e0b9ef4
parent 1669 4d79cb67a21b
child 2052 80b8a0c74063
permissions -rw-r--r--
comments

"
 COPYRIGHT (c) 2004 by eXept Software AG 
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
"{ Package: 'stx:libbasic2' }"

FourByteString variableLongSubclass:#Unicode32String
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Collections-Text'
!

!Unicode32String class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 2004 by eXept Software AG 
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.


"
!

documentation
"
    Not yet fully finished - unicode support is still being implemented.
"
! !

!Unicode32String class methodsFor:'initialization'!

initialize
    "initialize the class - private"

    self flags:(Behavior flagLongs)

    "
     Unicode32String initialize
    "

    "Created: 30.6.1997 / 15:35:52 / cg"
    "Modified: 30.6.1997 / 15:39:21 / cg"
! !

!Unicode32String methodsFor:'conversion'!

asSymbolIfInterned
    "If a symbol with the receivers characters is already known, return it. Otherwise, return nil. 
     Because ST/X does not support non-8-bit symbols, this method
     has been redefined to only return a symbol, if the receiver does NOT contain
     any non-8 bit characters."

    |s|

    Error catch:[
        s := self asSingleByteString.
    ].
    s isNil ifTrue:[^ s].
    ^ s asSymbolIfInterned
!

asUnicode32String
    "as the receiver already is a unicode-32 string, return it"

    ^ self
!

asUnicodeString
    "as the receiver already is a unicode string, return it"

    ^ self
!

printOn:aStream
    "print the receiver utf-8 encoded on aStream.
     cg: is this a good idea ?
         No !!
         Who decided to do this ????"

    self utf8EncodedOn:aStream
! !

!Unicode32String class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libbasic2/Unicode32String.st,v 1.8 2008-10-30 15:54:16 cg Exp $'
! !

Unicode32String initialize!