1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
/* -*-objc-*-
EOGenericRecord.h
Copyright (C) 2000,2002,2003,2004,2005 Free Software Foundation, Inc.
Author: Mirko Viviani <mirko.viviani@gmail.com>
Date: June 2000
This file is part of the GNUstep Database Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __EOGenericRecord_h__
#define __EOGenericRecord_h__
#ifdef GNUSTEP
#include <Foundation/NSObject.h>
#else
#include <Foundation/Foundation.h>
#endif
#include <EOControl/EOCustomObject.h>
@class NSString;
@class NSMutableDictionary;
@class EOClassDescription;
@class EOEditingContext;
@class EOGlobalID;
@class EOMutableKnownKeyDictionary;
@interface EOGenericRecord : EOCustomObject
{
EOClassDescription *classDescription;
EOMutableKnownKeyDictionary *_dictionary;
}
/* Initializing new instances. */
- (id)initWithEditingContext: (EOEditingContext *)context
classDescription: (EOClassDescription *)classDesc
globalID: (EOGlobalID *)globalID;
+ (void)eoCalculateAllSizeWith: (NSMutableDictionary *)dict;
- (unsigned int)eoCalculateSizeWith: (NSMutableDictionary *)dict;
+ (unsigned int)eoCalculateSizeWith: (NSMutableDictionary *)dict
forArray: (NSArray *)array;
- (NSString *)debugDictionaryDescription;
/** should return an array of property names
to exclude from entity instanceDictionaryInitializer.
You can override this to exclude properties manually
handled by derived object. **/
+ (NSArray *)_instanceDictionaryInitializerExcludedPropertyNames;
@end /* EOGenericRecord */
#endif /* __EOGenericRecord_h__ */
|