Hessian::Translator - Base class for Hessian serialization/deserialization.
my $translator = Hessian::Translator->new( version => 1 ); my $hessian_string = "S\x00\x05hello"; $translator->input_string($hessian_string); my $output = $translator->deserialize_message(); # Apply serialization methods to the object. Hessian::Serializer->meta()->apply($translator);
Hessian::Translator and associated subclasses and roles provides serialization/deserialization of data and Perl datastructures into Hessian protocol.
On its own, this class really only provides some of the more basic functions required for Hessian processing such as the type list for datatypes, the reference list for maps, objects and arrays; and the object class definition list. Integration of the respective serialization and deserialization behaviours only takes place when needed. Depending on how the translator is initialized and which methods are called on the object, it is possibly to specialize the object for either Hessian 1.0 or Hessian 2.0 processing and to selectively include methods for serialization and or deserialization.
Not to be called directly. Pod::Coverage complains if I don't have it in here though.
Allowed values are 1 or 2 and correspond to the respective Hessian protocol version.
The Hessian encoded string to be decoded. This may represent an entire message or a simple scalar or datastructure. Note that the first application of this method causes the Hessian::Deserializer role to be applied to this class.
Retrieves the current version for which this client was initialized. See "new".
Appends the string parameter to the filehandle.
Provides access to the internal class definition list.
Provides access to the internal type list.
Provides access to the internal list of references.
Causes the Hessian::Serializer methods to be applied to the current object.
Reads a specified number of bytes from an input stream.
Set/reset the current position in an input stream.