From fc02f913371d522a025c47824fafeba8e3174da1 Mon Sep 17 00:00:00 2001 From: stuconnolly Date: Thu, 12 Aug 2010 12:56:20 +0000 Subject: Various export enhancements and fixes, including: - A new SPExportFile class, providing an abstract interface to the handling and creation of export files. - Enables the centralisation of all file/file handle creation logic as well as better support for handling situations where files fail to be created, including files that already exist at the export location. - New SPExportFileHandleStatus constants to support the reporting of file handle creation. - Update SPExporter to use the new file class instead of directly using an instance of SPFileHandle. - Add the necessary logic to deal with files that already exist on disk, by providing the user with 3 options: cancel the export, ignore the files in question or overwrite them. We might want to enhance this to make new files sequential in name to prevent overwriting. Fixes issue #742. - New SPExportFileUtilities category, which centralises all the logic relating to writing export type headers as well as dealing with problems occurred during file/file handle creation. - Improve feedback given on the export progress sheet during export initialisation. - Tidy up and improve comments. --- Source/SPCSVExporter.h | 83 +++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 45 deletions(-) (limited to 'Source/SPCSVExporter.h') diff --git a/Source/SPCSVExporter.h b/Source/SPCSVExporter.h index f1148b7e..c01fda20 100644 --- a/Source/SPCSVExporter.h +++ b/Source/SPCSVExporter.h @@ -37,79 +37,72 @@ */ @interface SPCSVExporter : SPExporter { - /** - * Exporter delegate - */ NSObject *delegate; - /** - * Data array - */ NSArray *csvDataArray; - /** - * Table name - */ NSString *csvTableName; - - /** - * Output field names - */ - BOOL csvOutputFieldNames; - - /** - * CSV field separator string - */ NSString *csvFieldSeparatorString; - - /** - * CSV enclosing character string - */ NSString *csvEnclosingCharacterString; - - /** - * CSV escape string - */ NSString *csvEscapeString; - - /** - * CSV line ending string - */ NSString *csvLineEndingString; - - /** - * CSV NULL string - */ NSString *csvNULLString; - /** - * Table data - */ + BOOL csvOutputFieldNames; + SPTableData *csvTableData; } +/** + * @property delegate Exporter delegate + */ @property(readwrite, assign) NSObject *delegate; +/** + * @property csvDataArray Data array + */ @property(readwrite, retain) NSArray *csvDataArray; -@property(readwrite, retain) NSString *csvTableName; -@property(readwrite, assign) BOOL csvOutputFieldNames; +/** + * @property csvTableName Table name + */ +@property(readwrite, retain) NSString *csvTableName; +/** + * @property csvFieldSeparatorString CSV field separator string + */ @property(readwrite, retain) NSString *csvFieldSeparatorString; + +/** + * @property csvEnclosingCharacterString CSV enclosing character string + */ @property(readwrite, retain) NSString *csvEnclosingCharacterString; + +/** + * @property csvEscapeString CSV escape string + */ @property(readwrite, retain) NSString *csvEscapeString; + +/** + * @property csvLineEndingString CSV line ending string + */ @property(readwrite, retain) NSString *csvLineEndingString; + +/** + * @property csvNULLString CSV NULL string + */ @property(readwrite, retain) NSString *csvNULLString; -@property(readwrite, retain) SPTableData *csvTableData; +/** + * @property csvOutputFieldNames csvOutputFieldNames Output field names + */ +@property(readwrite, assign) BOOL csvOutputFieldNames; /** - * Initialise an instance of SPCSVExporter using the supplied delegate. - * - * @param exportDelegate The exporter delegate - * - * @return The initialised instance + * @property csvTableData Table data */ +@property(readwrite, retain) SPTableData *csvTableData; + - (id)initWithDelegate:(NSObject *)exportDelegate; @end -- cgit v1.2.3