I've got a "Report" object which has properties & methods such as:

set/getHeader
set/getRecordset
set/getFooter
set/getTitle
set/getColumnOrder

etc

I've got a "ReportManager" which adds a persistence option when invoking
the Report. i.e. The report may be created for a CSV dump or rendered as
a pageable recordset for use in HTML display.

Where I'm stuck is how to properly model the database query. I was
planning on extending this generic Report object for each report type we
require. Each subclass would most likely contain a method or two that
deal strictly with excuting the SQL or proc and populating the
"recordset" property of the Report object in question. (this make
sense?)

If this is a sound approach...I'm wondering if I can have the
ReportManager accept a "reportType" as a parameter and have it
dynamically formulate the target subclass as follows:

CreateObject("component","com.terrapayments.reports.#arguments.ReportTyp
e#").init()

This way I can add a new report just by dropping in a new subclass of
Report and not have to touch any other components going forward.

Good or ugly? Appreciate ur insights as always. ;)

Stace



AVIS IMPORTANT:
-------------------------------
Les informations contenues dans le present document et ses pieces jointes sont 
strictement confidentielles et reservees a l'usage de la (des) personne(s) a qui il 
est adresse. Si vous n'etes pas le destinataire, soyez avise que toute divulgation, 
distribution, copie, ou autre utilisation de ces informations est strictement 
prohibee. Si vous avez recu ce document par erreur, veuillez s'il vous plait 
communiquer immediatement avec l'expediteur et detruire ce document sans en faire de 
copie sous quelque forme.

WARNING:
-------------------------------
The information contained in this document and attachments is confidential and 
intended only for the person(s) named above. If you are not the intended recipient you 
are hereby notified that any disclosure, copying, distribution, or any other use of 
the information is strictly prohibited. If you have received this document by mistake, 
please notify the sender immediately and destroy this document and attachments without 
making any copy of any kind.

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev'
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]

Reply via email to