// Aprica2
// copyright Pirmin Braun 1997-2007 - pirmin@pirmin.de
// all Rights reserved;
#import "Aprica.h"
@interface PBDDTable:NSObject
{ PBDD *myDD;
NSMutableArray *attributes; //attributes wie im BB erfasst
NSArray *plainAttributes; //expandiert
NSDictionary *plainAttributesLD; //LookupDict dafuer
NSString *guiName;
NSString *dbName;
NSString *type; //A = Abstract, R = Real
NSString *primaryKeyName;
NSString *bereich,*bemerkung;
BOOL isRealTable,hasPidimage;
PBDDAttribute *primaryKeyAttr;
NSArray *descriAttributes,*csAttrNames;
NSArray *attributesReferencingMe; // wird on Demand gefuellt
NSMutableArray *attributesFK; // wird on Demand gefuellt
NSMutableArray *attributesDB,*attributesDBFetch; // wird on Demand gefuellt
NSMutableArray *attributesDescri; // wird on Demand gefuellt
NSMutableArray *dbNamesDB; // wird on Demand gefuellt
NSMutableArray *dbNamesNotVisible; // wird on Demand gefuellt
}
// Accessor
+ (NSArray *)ivarNames;
+ (NSArray *)ivarNamesShort;
+ (PBDDTable *)minimalTableNamed:(NSString *)s;
ACCESSClassh(descriAttributes,setDescriAttributes,NSArray)
ACCESSClassh(csAttrNames,setCsAttrNames,NSArray)
ACCESSClassh(attributes,setAttributes,NSMutableArray)
ACCESSClassh(plainAttributes,setPlainAttributes,NSArray)
ACCESSClassh(plainAttributesLD,setPlainAttributesLD,NSDictionary)
ACCESSh(dbName, setDbName)
ACCESSh(bereich, setBereich)
ACCESSh(bemerkung, setBemerkung)
ACCESSh(primaryKeyName, setPrimaryKeyName)
ACCESSh(guiName, setGuiName)
ACCESSh(type, setType)
ACCESSClassh(primaryKeyAttr, setPrimaryKeyAttr, PBDDAttribute)
ACCESSClassh(myDD, setMyDD, PBDD)
- (BOOL)isRealTable;
- (void)setIsRealTable:(BOOL)yn;
- (BOOL)hasPidimage;
- (NSString *)type;
- (void)setType:(NSString *)s;
- (NSArray *)attributesFK; // wird on Demand gefuellt
- (NSArray *)attributesDB; // wird on Demand gefuellt
- (NSArray *)attributesDBFetch; // wird on Demand gefuellt
- (NSArray *)attributesDescri; // wird on Demand gefuellt
- (NSArray *)dbNamesDB; // wird on Demand gefuellt
- (NSArray *)dbNamesNotVisible; // wird on Demand gefuellt
// core
- (void)clean; //gepufferte Variablen loeschen, um Neuberechnung zu erwzingen.
- (void)addAttribute:(PBDDAttribute *)pba;
- (void)addAttributes:(NSArray *)a;
// nach Laden
- (void)convertDictionaries; //nach takeValues beim Laden
// core
- (void)getPKN;
- (int)pkLen;
- (void)consolidate;
- (void)refreshAttributesFrom:(NSArray *)attrs;
- (void)determineDescri;
- (void)determineCS;
// query
- (BOOL)hasStatisticFields;
- (NSMutableDictionary *)values;
- (PBDDAttribute *)plainAttrNamed:(NSString *)name;
- (NSArray *)plainAttributesKeys;
- (PBDDAttribute *)attrNamed:(NSString *)name;
- (NSArray *)attributesReferencingMe;
@end