CharacterEncoderImplementations__SingleByteEncoder.st
author fm
Tue, 22 Sep 2009 11:08:34 +0200
changeset 11997 b4a8b0240492
parent 8811 b2a78fe1d44f
child 12433 b8654ecbc50d
permissions -rw-r--r--
added #characterSize: #readNextCharacterFrom:aStream #readNext:charactersToRead charactersFrom:stream

"
 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:libbasic' }"

"{ NameSpace: CharacterEncoderImplementations }"

CharacterEncoder subclass:#SingleByteEncoder
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Collections-Text-Encodings'
!

!SingleByteEncoder 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
"
    Common abstract superclass for all single-byte encodings.

    [author:]
        Claus Gittinger
"
! !

!SingleByteEncoder class methodsFor:'queries'!

maxCode
    ^ 255 
!

minCode
    ^ 0 
! !

!SingleByteEncoder methodsFor:'private'!

newString:size
    ^ String uninitializedNew:size
! !

!SingleByteEncoder methodsFor:'queries'!

characterSize:codePoint

    ^1

    "Created: / 15-06-2005 / 15:11:24 / janfrog"
! !

!SingleByteEncoder methodsFor:'stream support'!

readNext:charactersToRead charactersFrom:stream

    ^self decodeString:(stream next:charactersToRead)

    "Created: / 16-06-2005 / 11:45:52 / masca"
!

readNextCharacterFrom:aStream

    | c |

    c := aStream next

    ^ c isNil 
        ifTrue: [nil]
        ifFalse: [(self decode:c asInteger) asCharacter]

    "Created: / 14-06-2005 / 17:03:21 / janfrog"
    "Modified: / 15-06-2005 / 15:27:49 / janfrog"
    "Modified: / 20-06-2005 / 13:13:52 / masca"
! !

!SingleByteEncoder class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__SingleByteEncoder.st,v 1.6 2009-09-22 09:08:34 fm Exp $'
! !