PBEO.h


max21 Unternehmensgruppe
//	Aprica2
//	copyright Pirmin Braun 1997-2007 - pirmin@pirmin.de
//	all Rights reserved;
#import "Aprica.h"
// entspricht in etwas einem EOGenericRecord;
// hat aber noch die oldValues f. undo u. sparsames update;
// kann einen subset der Attribute halten, z.B. nur key u. descri
// muss nicht mehr gecached werden u. uebernimmt mithin Aufgaben der frueheren Dictionaries
// im Vergleich zu frueherem PBEO sehr leichtgewichtig
// custom Funktionalitaet in custom-EO-Handler ebenfalls auf Server
// Sourcen muessen nicht mehr generiert werden;
// PBEOs haben keine Sortorder mehr, sondern werden von PBWOEditor sortiert
// nach update kommen oldValues in changedValues, um feststellen zu koennen, was sich geaendert hat
@interface PBEO:NSObject <NSCoding>
{
    NSString *entityName;
    NSString *descri;	//wird on demand gefuellt
    NSMutableDictionary	*values,*oldValues,*changedValues;
    BOOL wasFetched; //gesetzt, wenn gefetched wurde; nur dann werden oldValues gefuehrt
    PBDDTable *myTable;
    NSString *pidimagefnJpg;
    BOOL isCheckedPBEO;  //Temporary state for PBWOEditor for selected EO's.
    NSString *eoColor; // fuer Anzeige in Tableview
}
//	Accessor
ACCESSClassh(myTable, setMyTable,PBDDTable)
ACCESSh(entityName, setEntityName)
ACCESSh(primaryKey, setPrimaryKey)	//primaryKey on demand gepuffert
ACCESSh(descri, setDescri)	//descri on demand gepuffert
ACCESSh(eoColor, setEoColor)
ACCESSh(pidimagefnJpg, setPidimagefnJpg)
+ (NSDictionary *)knownKeys;
- (NSString *)pidImagePathForPrint;
- (Application *)application;
- (Session *)session;
- (NSString *)primaryKeyName;	//shortcut
- (NSString *)descri;		//shortcut
- (NSMutableDictionary *)values;	//haelt Werte in dbFormat
- (NSMutableDictionary *)oldValues;	//wird bei Bedarf erst alloziert u. haelt alte Werte
- (NSMutableDictionary *)changedValues;
- (BOOL)wasFetched;
- (void)setWasFetched:(BOOL)yn;
- (PBSQLQualifier *)pkq;
- (void)takeValuesOfSameNameFromEo:(PBEO *)eo;
- (void)takeValuesFromDictionaryToDuplicate:(NSDictionary *)d;
- (PBEO *)dot:(NSString *)relationName;
- (void)takeValues:(NSArray *)a1 forKeys:(NSArray *)a2;
- (PBEO *)selObj;
- (NSArray *)valuesArrayForKeys:(NSArray *)a;
- (NSArray *)valuesArrayForKeypaths:(NSArray *)a;
    //	Existenz
- initWithEntityName:(NSString *)en;
- (void)useValuesFromDictionary:(NSDictionary *)d;
- (PBEO *)eo_copy;
- (void)refetch;
    //	ascii-rep
- (NSString *)description;
    //	Vergleich
- (BOOL)isEqual:(id)anotherEO;	//dasselbe
- (BOOL)isEqualTableAndPK:(id)anotherEO;
- (unsigned)hash;
    //	undo
- (void)undo; //aus oldValues in Values u. oldValues clearen
+ (NSArray *)eosFromString:(NSString *)contents;
- (void)encodeIntoString: (NSMutableString *)ms;
@end
Foto