transforms/Xtreams__DuplicateReadStream.st
author joe
Tue, 19 Mar 2013 23:58:40 -0400
changeset 116 fa5b4c9f582d
parent 111 44ac233b2f83
permissions -rw-r--r--
- Xtreams::EncodeReadStream class: Xtreams::EncodeReadStream changed: #get #read:into:at: - Xtreams::ASCIIEncoder class: Xtreams::ASCIIEncoder - Xtreams::TransformReadStream class: Xtreams::TransformReadStream - Xtreams::ObjectReadStream class: Xtreams::ObjectReadStream - Xtreams::InterpretedReadStream class: Xtreams::InterpretedReadStream - stx_goodies_xtreams_transforms class: stx_goodies_xtreams_transforms - Xtreams::DuplicateWriteStream class: Xtreams::DuplicateWriteStream - Xtreams::EncodeWriteStream class: Xtreams::EncodeWriteStream changed: #setLineEndCRLF #setLineEndLF - Xtreams::ObjectAnalyseStream class: Xtreams::ObjectAnalyseStream - Xtreams::ObjectWriteStream class: Xtreams::ObjectWriteStream - Xtreams::TransformWriteStream class: Xtreams::TransformWriteStream - Xtreams::CollectReadStream class: Xtreams::CollectReadStream - Xtreams::InterpretedWriteStream class: Xtreams::InterpretedWriteStream - Xtreams::DuplicateReadStream class: Xtreams::DuplicateReadStream - Xtreams::ObjectMarshaler class: Xtreams::ObjectMarshaler - Xtreams::ISO8859L1Encoder class: Xtreams::ISO8859L1Encoder - Xtreams::CollectWriteStream class: Xtreams::CollectWriteStream - Xtreams::MessagePackMarshaler class: Xtreams::MessagePackMarshaler - extensions ...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/xtreams/transforms' }"
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     2
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     3
"{ NameSpace: Xtreams }"
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     4
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     5
ReadStream subclass:#DuplicateReadStream
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     6
	instanceVariableNames:'duplicate'
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     7
	classVariableNames:''
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
     8
	poolDictionaries:''
27
2cc5a8a3ca14 added XtreamsPool to fix DefaultBufferSize; set proper category names
mkobetic
parents: 10
diff changeset
     9
	category:'Xtreams-Transforms'
10
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    10
!
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    11
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    12
DuplicateReadStream comment:'Duplicates contents flowing through the stream into a secondary write stream.
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    13
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    14
Instance Variables
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    15
	duplicate	<WriteStream> stream to duplicate the content to
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    16
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    17
'
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    18
!
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    19
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    20
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    21
!DuplicateReadStream class methodsFor:'instance creation'!
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    22
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    23
on: aSource duplicate: aDestination
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    24
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    25
	^self new on: aSource duplicate: aDestination
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    26
! !
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    27
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    28
!DuplicateReadStream methodsFor:'accessing'!
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    29
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    30
read: anInteger into: aSequenceableCollection at: startIndex
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    31
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    32
	[	source read: anInteger into: aSequenceableCollection at: startIndex.
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    33
	] on: Incomplete do: [ :incomplete |
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    34
		duplicate write: incomplete count from: aSequenceableCollection at: startIndex.
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    35
		incomplete pass ].
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    36
	duplicate write: anInteger from: aSequenceableCollection at: startIndex
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    37
! !
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    38
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    39
!DuplicateReadStream methodsFor:'initialize-release'!
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    40
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    41
contentsSpecies
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    42
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    43
	^source contentsSpecies
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    44
!
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    45
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    46
on: aSource duplicate: aDestination
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    47
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    48
	super on: aSource.
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    49
	duplicate := aDestination
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    50
! !
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    51
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    52
!DuplicateReadStream class methodsFor:'documentation'!
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    53
111
44ac233b2f83 * removed namespace from pool references and stray extension methods
joe
parents: 72
diff changeset
    54
version_HG
44ac233b2f83 * removed namespace from pool references and stray extension methods
joe
parents: 72
diff changeset
    55
44ac233b2f83 * removed namespace from pool references and stray extension methods
joe
parents: 72
diff changeset
    56
    ^ '$Changeset: <not expanded> $'
44ac233b2f83 * removed namespace from pool references and stray extension methods
joe
parents: 72
diff changeset
    57
!
44ac233b2f83 * removed namespace from pool references and stray extension methods
joe
parents: 72
diff changeset
    58
10
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    59
version_SVN
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    60
    ^ '$Id$'
3813193bdf4e first cut
Martin Kobetic <mkobetic@gmail.com>
parents:
diff changeset
    61
! !
111
44ac233b2f83 * removed namespace from pool references and stray extension methods
joe
parents: 72
diff changeset
    62