#include <EncodedStream.h>
Inheritance diagram for Core::EncodedStream:
Public Member Functions | |
EncodedStream (Stream *stream, StreamEncoder *encoder) | |
virtual String * | className (void) const |
Answer receiver class name. | |
virtual void | replacementCharacter (Character *ch) |
virtual void | bigEndian (void) |
virtual void | littleEndian (void) |
virtual Object * | next (void) |
virtual SequenceableCollection * | next (long items) |
virtual SequenceableCollection * | next (long items, SequenceableCollection *newColl, long index) |
virtual void | nextPut (Object *object) |
virtual void | nextPut (const char object) |
virtual bool | isBinary (void) |
Static Public Member Functions | |
static EncodedStream * | on (String *encoding, Stream *stream) |
Protected Member Functions | |
virtual SequenceableCollection * | contentSpeciesFor (long items) |
Protected Attributes | |
StreamEncoder * | encoder |
Character * | _replacement |
|
Definition at line 35 of file EncodedStream.cc. References _replacement, and nil. Referenced by on(). 00036 : StreamDecorator(stream) 00037 { 00038 this->encoder = encoder; 00039 _replacement = nil; 00040 }
|
|
Definition at line 61 of file EncodedStream.cc. References Core::StreamEncoder::bigEndian(), and encoder.
|
|
Answer receiver class name. Because there isn't any standard way to obtain class name this method comes to place. Every class should rewrite this method but many didn't (yet). Reimplemented from Core::Object. Definition at line 43 of file EncodedStream.cc. 00044 { 00045 return new String("EncodedStream"); 00046 }
|
|
Reimplemented from Core::StreamDecorator. Definition at line 103 of file EncodedStream.cc. 00104 { 00105 return new String(items); 00106 }
|
|
Reimplemented from Core::Stream. Definition at line 97 of file EncodedStream.cc. 00098 { 00099 return false; 00100 }
|
|
Definition at line 66 of file EncodedStream.cc. References encoder, and Core::StreamEncoder::littleEndian(). 00067 { 00068 encoder->littleEndian(); 00069 }
|
|
Reimplemented from Core::Stream. Definition at line 60 of file EncodedStream.h. References Core::Stream::next(). 00061 { return Stream::next(items, newColl, index); }
|
|
Reimplemented from Core::Stream. Definition at line 58 of file EncodedStream.h. References Core::Stream::next(). 00059 { return Stream::next(items); }
|
|
Reimplemented from Core::Stream. Definition at line 72 of file EncodedStream.cc. References _replacement, Core::StreamEncoder::decodeFrom(), encoder, nil, and Core::StreamDecorator::underlying_stream. 00073 { 00074 try { 00075 return encoder->decodeFrom(underlying_stream); 00076 } 00077 catch (Error *ex) { 00078 if (_replacement == nil) ex->pass(); 00079 return _replacement; 00080 } 00081 }
|
|
Reimplemented from Core::Stream. Definition at line 63 of file EncodedStream.h. References Core::Stream::nextPut(). 00064 { Stream::nextPut(object); }
|
|
Reimplemented from Core::Stream. Definition at line 83 of file EncodedStream.cc. References _replacement, encoder, Core::StreamEncoder::encodeTo(), nil, and Core::StreamDecorator::underlying_stream. 00084 { 00085 try { 00086 encoder->encodeTo(underlying_stream, dynamic_cast<Character *>(object)); 00087 } 00088 catch (Error *ex) { 00089 if (_replacement == nil) 00090 ex->pass(); 00091 else 00092 encoder->encodeTo(underlying_stream, _replacement); 00093 } 00094 }
|
|
Definition at line 49 of file EncodedStream.cc. References EncodedStream(), and Core::EncodedStreamFactory::getEncoder(). 00050 { 00051 InternalEncodedStreamFactory *factory = new InternalEncodedStreamFactory(new ByteArray, encoding); 00052 return new EncodedStream(stream, factory->getEncoder()); 00053 }
|
|
Definition at line 56 of file EncodedStream.cc. References _replacement. 00057 { 00058 _replacement = ch; 00059 }
|
|
Definition at line 40 of file EncodedStream.h. Referenced by EncodedStream(), next(), nextPut(), and replacementCharacter(). |
|
Definition at line 39 of file EncodedStream.h. Referenced by bigEndian(), littleEndian(), next(), and nextPut(). |