#
# $Id: classcoding.icn,v 1.2 2004-02-12 17:07:55 rparlett Exp $
#
# This file is in the public domain.
#
# Author: Robert Parlett (parlett@dial.pipex.com)
#

package lang

#
# This class must be subclassed by any class to be encoded
# by an Encode object.
#
class ClassCoding()
   #
   # This method should encode the instance into the given Encode
   # object.
   #
   abstract method encode_obj(e)

   #
   # This method should decode an instance from the given Encode
   # object.
   #
   abstract method decode_obj(e)

   #
   # This empty method may be overridden; it is invoked just before
   # the object is encoded.
   #
   method pre_encode()
   end

   #
   # This empty method may be overridden; it is invoked just after
   # the object has been decoded.
   #
   method post_decode()
   end
end
