package flare.data.converters { import flare.data.DataSchema; import flare.data.DataSet; import flash.utils.IDataInput; import flash.utils.IDataOutput; /** * Interface for data converters that map between an external data file * format and ActionScript objects (e.g., Arrays and Objects). */ public interface IDataConverter { /** * Converts data from an external format into ActionScript objects. * @param input the loaded input data * @param schema a data schema describing the structure of the data. * Schemas are optional in many but not all cases. * @return a DataSet instance containing converted data objects. */ function read(input:IDataInput, schema:DataSchema=null):DataSet; /** * Converts data from ActionScript objects into an external format. * @param data the data set to write. * @param output an object to which to write the output. If this value * is null, a new ByteArray will be created. * @return the converted data. If the output parameter is * non-null, it is returned. Otherwise the return value will be a * newly created ByteArray */ function write(data:DataSet, output:IDataOutput=null):IDataOutput; } // end of interface IDataConverter }