Unicode16String.st
author Claus Gittinger <cg@exept.de>
Thu, 30 Oct 2008 16:54:13 +0100
changeset 11293 4b08b41f0488
parent 10223 761e2a050b69
child 11323 c9ebe199a8fc
permissions -rw-r--r--
comments

"
 COPYRIGHT (c) 1997 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:libbasic' }"

TwoByteString variableWordSubclass:#Unicode16String
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Collections-Text'
!

!Unicode16String class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1997 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
"
    Represents 16-bit (2-byte) Unicode strings.
"
! !

!Unicode16String class methodsFor:'initialization'!

initialize
    "initialize the class - private"

    self flags:(Behavior flagWords).

    Smalltalk at:#UnicodeString put:Unicode16String.

    "
     Unicode16String initialize
    "

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

!Unicode16String 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
!

asUnicode16String
    "as the receiver already is a unicode-16 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
! !

!Unicode16String methodsFor:'printing & storing'!

storeString
    "return a String for storing myself"

    ^ self basicStoreString.
! !

!Unicode16String class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libbasic/Unicode16String.st,v 1.11 2008-10-30 15:54:13 cg Exp $'
! !

Unicode16String initialize!