El_gringo | bon, allez, je vais allez ds le concret :
les tables de paramètrage peuvent être (pr l'instant) 2 tables différentes :
la table TABLE dont voici la structure :
CREATE TABLE [dbo].[TABLES] (
[NOTABLE] [int] NULL ,
[CLE] [char] (32) COLLATE French_CI_AS NULL ,
[LIB1] [char] (32) COLLATE French_CI_AS NULL ,
[LIB2] [char] (32) COLLATE French_CI_AS NULL ,
[LIB3] [char] (32) COLLATE French_CI_AS NULL ,
[LIB4] [char] (32) COLLATE French_CI_AS NULL ,
[L1] [int] NULL ,
[L2] [int] NULL ,
[L3] [int] NULL ,
[L4] [int] NULL ,
[I1] [int] NULL ,
[I2] [int] NULL ,
[I3] [int] NULL ,
[I4] [int] NULL ,
[B1] [int] NULL ) ON [PRIMARY]
|
et la table PARAM, que voici :
CREATE TABLE [dbo].[PARAM] (
[TYPE] [int] NULL ,
[CLE] [varchar] (32) COLLATE French_CI_AS NULL ,
[SEQ] [int] NULL ,
[DATA] [varchar] (255) COLLATE French_CI_AS NULL ) ON [PRIMARY]
|
les champs NOTABLE (pour TABLE), et TYPE (pour PARAM) ont la même fonctionnalité. ils indiquent la nature du paramètre.
CLE est la clée pour retrouver à quoi correspond la paramètre.
Ensuite, les données sont gérées différement selon les tables.
J'voudrais que getFirstRecord () me rende, soit une instance du type JParamRecord, soit une instance du type JTableRecord, selon la table de laquelle il est issu.
J'aurais 2 implémentation de l'interface JParamFounder :
JParamPARAMFounder et JParamTABLEFounder (vs comprenez pourquoi, hein !?).
Le pb est simple (en + que, comme vs voyez, g du mal à m'y retrouver) : je ne sais pas quel Classe peut rendre getFirstRecord ().
J'voudrais que l'objet récupéré, selon qu'il est issu de JParamPARAMFounder ou de JParamTABLEFounder, soit différent, que je puisse y appliquer des méthodes différents (getLib1 (), getLib2 (), getLib3 (), ... ds un cas, getSeq (), getData () ds l'autre cas.
Je suis obligé de passer par un cast pr faire ça ? |