2004-04-17 11:30:47 +00:00
|
|
|
/* -*-objc-*-
|
2002-11-15 22:57:05 +00:00
|
|
|
EOAttribute.h
|
|
|
|
|
2005-08-17 08:07:57 +00:00
|
|
|
Copyright (C) 2000,2002,2003,2004,2005 Free Software Foundation, Inc.
|
2002-11-15 22:57:05 +00:00
|
|
|
|
2006-09-14 16:06:21 +00:00
|
|
|
Author: Mirko Viviani <mirko.viviani@gmail.com>
|
2002-11-15 22:57:05 +00:00
|
|
|
Date: Feb 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
|
2007-07-12 06:39:22 +00:00
|
|
|
version 3 of the License, or (at your option) any later version.
|
2002-11-15 22:57:05 +00:00
|
|
|
|
|
|
|
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,
|
2005-08-17 08:07:57 +00:00
|
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
2002-11-15 22:57:05 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __EOAttribute_h__
|
|
|
|
#define __EOAttribute_h__
|
|
|
|
|
2004-03-19 16:41:21 +00:00
|
|
|
#ifdef GNUSTEP
|
2003-03-31 00:24:15 +00:00
|
|
|
#include <Foundation/NSString.h>
|
|
|
|
#include <Foundation/NSZone.h>
|
|
|
|
#else
|
|
|
|
#include <Foundation/Foundation.h>
|
|
|
|
#endif
|
2002-11-15 22:57:05 +00:00
|
|
|
|
2003-03-31 00:24:15 +00:00
|
|
|
#include <EOAccess/EOPropertyListEncoding.h>
|
2002-11-15 22:57:05 +00:00
|
|
|
|
|
|
|
|
2002-12-30 22:10:43 +00:00
|
|
|
@class NSDictionary;
|
|
|
|
@class NSData;
|
|
|
|
@class NSException;
|
|
|
|
@class NSCalendarDate;
|
|
|
|
@class NSTimeZone;
|
|
|
|
|
2002-11-15 22:57:05 +00:00
|
|
|
@class EOEntity;
|
|
|
|
@class EOExpressionArray;
|
|
|
|
@class EOStoredProcedure;
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
EOFactoryMethodArgumentIsNSData = 0,
|
|
|
|
EOFactoryMethodArgumentIsNSString,
|
|
|
|
EOFactoryMethodArgumentIsBytes
|
|
|
|
} EOFactoryMethodArgumentType;
|
|
|
|
|
|
|
|
typedef enum {
|
COmmit Part 2
* EOAccess/EOAdaptor.m:
o optimization in 'for' loops
* EOAccess/EODatabase.m:
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
* EOAccess/EODatabaseContext.h:
o added _snapshotForGlobalIDIMP
* EOAccess/EODatabaseContext.m:
o commented NSEmitTODO in
-objectsForSourceGlobalID:relationshipName:editingContext:
o added beter exception format in
qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
o fix compiler warning in -relayPrimaryKey:object:entity:
o logs
o optimizations in -objectsWithFetchSpecification:editingContext:
o replaced isNilOrEONull() by _isNilOrEONull()
o replace [EOFault isFault:] by _isFault()
o use _snapshotForGlobalIDIMP
o IMP usage optimization
* EOAccess/EOAttribute.[hm]:
o added EOAdaptorUnknownType
o added _adaptorValueType and avoid recomputing it each time
o added _valueTypeChar to avoid string comparaisons
o use EOPriv classes declarations
o Temporary reverted David changes in
-adaptorValueByConvertingAttributeValue
* EOAccess/EOAttributePriv.h:
o added _valueTypeChar to avoid string comparaisons
* EOAccess/EOEntityPriv.h:
o moved -attributeForPath: and -relationshipForPath: to
EOEntityGDL2Additions category
* EOAccess/EOEntity.h:
o moved private -attributeForPath: and -relationshipForPath: to
EOEntityGDL2Additions category
* EOAccess/EOEntity.m:
o better exception in classProperties
o fix compiler warning in -setClassProperties:,
-setPrimaryKeyAttributes:,
-setAttributesUsedForLocking:
o moved -attributeForPath: and -relationshipForPath: to
EOEntityGDL2Additions category
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAccess/EOSQLExpression.m:
o optimization in -tableListWithRootEntity:
o optimization in -formatSQLString:format:
o optimization in +sqlPatternFromShellPattern:
o optimization in +sqlPatternFromShellPattern:withEscapeCharacter:
o fix in -sqlStringForKeyValueQualifier:
o added log in -sqlStringForKeyValueQualifier: for not handled
readFormat
o added log -addInsertListAttribute:value: for not handled
writeFormat
o added log -addUpdateListAttribute:value: for not handled
writeFormat
o changed EOFLOGObjectFnStart to EOFLOGObjectFnStartCond
o changed EOFLOGObjectFnStop to EOFLOGObjectFnStopCond
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAccess/EOSQLQualifier.m:
o implemented EOKeyComparisonQualifier
-schemaBasedQualifierWithRootEntity
* EOAccess/EOUtilities.m:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOControl/EOPriv.[hm]:
o added. Contains various classes/selectors/IMPs
* EOControl/EOClassDescription.m:
o handle EONull case in -propagateDeleteForObject:editingContext:,
-addObject:toPropertyWithKey:, -snapshot,
-removeObject:fromPropertyWithKey:,
_setObject:forBothSidesOfRelationshipWithKey:,
addObject:toBothSidesOfRelationshipWithKey:,
-removeObject:fromBothSidesOfRelationshipWithKey:
o fix compiler warning in
-dictionaryForInstanceProperties, -shallowCopy,
-updateFromSnapshot:, -snapshot
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
o replaced isNilOrEONull() by _isNilOrEONull()
o fix in -validateForSave
o rewritten -validateValue:forKey: selector build
* EOControl/EOEditingContext.h:
o added -hasUnprocessedChanges
* EOControl/EOEditingContext.m:
o added -hasUnprocessedChanges
o added NS_DURING,... to catch exceptions
o replace [EOFault isFault:] by _isFault()
o IMP usage optimization
* EOControl/EOKeyGlobalID.m:
o replaced isNilOrEONull() by _isNilOrEONull()
o include <EOCOntrol/EOPriv.h>
* EOControl/EOGenericRecord.m:
o partially rewritten -description
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
o replace [EOFault isFault:] by _isFault()
o changed variable name type of
_infoForInstanceVariableNamed:retType:retSize:retOffset:
o rewritten valueForKey:,... to use cString NSKeyValueCoding
* EOControl/EOKeyValueCoding.m:
o changed NSAssert in NSArray -valueForKey:
o optimization in NSDictionary -takeValue:forKeyPath:isSmart:
o optimization in NSDictionary -takeStoredValue:forKeyPath:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
o include <EOCOntrol/EOPriv.h>
* EOControl/EOKeyValueQualifier.m:
o fixes for EONull/nil in -evaluateWithObject:
o replaced [EONull null] by GDL2EONull
o include <EOCOntrol/EOPriv.h>
* EOControl/EOSortOrdering.m:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAdaptors/Postgres95SQLExpression.m:
o float formatting in +formatValue:forAttribute:
o added -externalNameQuoteCharacter
o added +sqlPatternFromShellPattern:
o added +sqlPatternFromShellPattern:withEscapeCharacter:
o replaced isNilOrEONull() by _isNilOrEONull()
* EOAdaptors/Postgres95Channel.m:
o logs
* EOAdaptors/Postgres95Values.m:
o logs
o fix in +setPostgres95Format:
o fix calendard format to handle timezone (%z)
o optimizations
* EOControl/EOMutableKnownKeyDictionary.m
o removed EOMKKDArrayMapping
+dictionaryFromDictionary:subsetMapping:
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
* EOControl/EONSAddOns.[hm]:
o added NSString(ShellPattern)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20688 72102866-910b-0410-8b05-ffd578937521
2005-02-11 17:37:23 +00:00
|
|
|
EOAdaptorNumberType,
|
2002-11-15 22:57:05 +00:00
|
|
|
EOAdaptorCharactersType,
|
|
|
|
EOAdaptorBytesType,
|
|
|
|
EOAdaptorDateType
|
|
|
|
} EOAdaptorValueType;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
EOVoid = 0,
|
|
|
|
EOInParameter,
|
|
|
|
EOOutParameter,
|
|
|
|
EOInOutParameter
|
|
|
|
} EOParameterDirection;
|
|
|
|
|
|
|
|
|
2006-10-15 12:23:42 +00:00
|
|
|
@interface EOAttribute : NSObject <EOPropertyListEncoding>
|
2002-11-15 22:57:05 +00:00
|
|
|
{
|
|
|
|
NSString *_name;
|
|
|
|
NSString *_columnName;
|
|
|
|
NSString *_externalType;
|
|
|
|
NSString *_valueType;
|
|
|
|
NSString *_valueClassName;
|
|
|
|
NSString *_readFormat;
|
|
|
|
NSString *_writeFormat;
|
|
|
|
NSTimeZone *_serverTimeZone;
|
|
|
|
unsigned int _width;
|
|
|
|
unsigned short _precision;
|
|
|
|
short _scale;
|
2006-09-16 03:27:17 +00:00
|
|
|
unichar _valueTypeCharacter; /** First char of _valueType or \0 **/
|
2002-11-15 22:57:05 +00:00
|
|
|
Class _valueClass;
|
COmmit Part 2
* EOAccess/EOAdaptor.m:
o optimization in 'for' loops
* EOAccess/EODatabase.m:
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
* EOAccess/EODatabaseContext.h:
o added _snapshotForGlobalIDIMP
* EOAccess/EODatabaseContext.m:
o commented NSEmitTODO in
-objectsForSourceGlobalID:relationshipName:editingContext:
o added beter exception format in
qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
o fix compiler warning in -relayPrimaryKey:object:entity:
o logs
o optimizations in -objectsWithFetchSpecification:editingContext:
o replaced isNilOrEONull() by _isNilOrEONull()
o replace [EOFault isFault:] by _isFault()
o use _snapshotForGlobalIDIMP
o IMP usage optimization
* EOAccess/EOAttribute.[hm]:
o added EOAdaptorUnknownType
o added _adaptorValueType and avoid recomputing it each time
o added _valueTypeChar to avoid string comparaisons
o use EOPriv classes declarations
o Temporary reverted David changes in
-adaptorValueByConvertingAttributeValue
* EOAccess/EOAttributePriv.h:
o added _valueTypeChar to avoid string comparaisons
* EOAccess/EOEntityPriv.h:
o moved -attributeForPath: and -relationshipForPath: to
EOEntityGDL2Additions category
* EOAccess/EOEntity.h:
o moved private -attributeForPath: and -relationshipForPath: to
EOEntityGDL2Additions category
* EOAccess/EOEntity.m:
o better exception in classProperties
o fix compiler warning in -setClassProperties:,
-setPrimaryKeyAttributes:,
-setAttributesUsedForLocking:
o moved -attributeForPath: and -relationshipForPath: to
EOEntityGDL2Additions category
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAccess/EOSQLExpression.m:
o optimization in -tableListWithRootEntity:
o optimization in -formatSQLString:format:
o optimization in +sqlPatternFromShellPattern:
o optimization in +sqlPatternFromShellPattern:withEscapeCharacter:
o fix in -sqlStringForKeyValueQualifier:
o added log in -sqlStringForKeyValueQualifier: for not handled
readFormat
o added log -addInsertListAttribute:value: for not handled
writeFormat
o added log -addUpdateListAttribute:value: for not handled
writeFormat
o changed EOFLOGObjectFnStart to EOFLOGObjectFnStartCond
o changed EOFLOGObjectFnStop to EOFLOGObjectFnStopCond
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAccess/EOSQLQualifier.m:
o implemented EOKeyComparisonQualifier
-schemaBasedQualifierWithRootEntity
* EOAccess/EOUtilities.m:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOControl/EOPriv.[hm]:
o added. Contains various classes/selectors/IMPs
* EOControl/EOClassDescription.m:
o handle EONull case in -propagateDeleteForObject:editingContext:,
-addObject:toPropertyWithKey:, -snapshot,
-removeObject:fromPropertyWithKey:,
_setObject:forBothSidesOfRelationshipWithKey:,
addObject:toBothSidesOfRelationshipWithKey:,
-removeObject:fromBothSidesOfRelationshipWithKey:
o fix compiler warning in
-dictionaryForInstanceProperties, -shallowCopy,
-updateFromSnapshot:, -snapshot
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
o replaced isNilOrEONull() by _isNilOrEONull()
o fix in -validateForSave
o rewritten -validateValue:forKey: selector build
* EOControl/EOEditingContext.h:
o added -hasUnprocessedChanges
* EOControl/EOEditingContext.m:
o added -hasUnprocessedChanges
o added NS_DURING,... to catch exceptions
o replace [EOFault isFault:] by _isFault()
o IMP usage optimization
* EOControl/EOKeyGlobalID.m:
o replaced isNilOrEONull() by _isNilOrEONull()
o include <EOCOntrol/EOPriv.h>
* EOControl/EOGenericRecord.m:
o partially rewritten -description
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
o replace [EOFault isFault:] by _isFault()
o changed variable name type of
_infoForInstanceVariableNamed:retType:retSize:retOffset:
o rewritten valueForKey:,... to use cString NSKeyValueCoding
* EOControl/EOKeyValueCoding.m:
o changed NSAssert in NSArray -valueForKey:
o optimization in NSDictionary -takeValue:forKeyPath:isSmart:
o optimization in NSDictionary -takeStoredValue:forKeyPath:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
o include <EOCOntrol/EOPriv.h>
* EOControl/EOKeyValueQualifier.m:
o fixes for EONull/nil in -evaluateWithObject:
o replaced [EONull null] by GDL2EONull
o include <EOCOntrol/EOPriv.h>
* EOControl/EOSortOrdering.m:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAdaptors/Postgres95SQLExpression.m:
o float formatting in +formatValue:forAttribute:
o added -externalNameQuoteCharacter
o added +sqlPatternFromShellPattern:
o added +sqlPatternFromShellPattern:withEscapeCharacter:
o replaced isNilOrEONull() by _isNilOrEONull()
* EOAdaptors/Postgres95Channel.m:
o logs
* EOAdaptors/Postgres95Values.m:
o logs
o fix in +setPostgres95Format:
o fix calendard format to handle timezone (%z)
o optimizations
* EOControl/EOMutableKnownKeyDictionary.m
o removed EOMKKDArrayMapping
+dictionaryFromDictionary:subsetMapping:
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
* EOControl/EONSAddOns.[hm]:
o added NSString(ShellPattern)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20688 72102866-910b-0410-8b05-ffd578937521
2005-02-11 17:37:23 +00:00
|
|
|
EOAdaptorValueType _adaptorValueType;
|
2002-11-15 22:57:05 +00:00
|
|
|
EOFactoryMethodArgumentType _argumentType;
|
|
|
|
NSString *_valueFactoryMethodName;
|
|
|
|
NSString *_adaptorValueConversionMethodName;
|
|
|
|
SEL _valueFactoryMethod;
|
|
|
|
SEL _adaptorValueConversionMethod;
|
|
|
|
struct {
|
|
|
|
unsigned int allowsNull:1;
|
|
|
|
unsigned int isReadOnly:1;
|
|
|
|
unsigned int isParentAnEOEntity:1;
|
2005-02-15 21:29:24 +00:00
|
|
|
unsigned int protoOverride:18;
|
|
|
|
unsigned int isAttributeValueInitialized:1;
|
|
|
|
unsigned int unused : 10;
|
2002-11-15 22:57:05 +00:00
|
|
|
} _flags;
|
|
|
|
|
2005-02-15 21:29:24 +00:00
|
|
|
unsigned int extraRefCount;
|
2002-11-15 22:57:05 +00:00
|
|
|
NSDictionary *_sourceToDestinationKeyMap;
|
|
|
|
EOParameterDirection _parameterDirection;
|
|
|
|
NSDictionary *_userInfo;
|
|
|
|
NSDictionary *_internalInfo;
|
|
|
|
NSString *_docComment;
|
|
|
|
|
2004-09-07 15:57:21 +00:00
|
|
|
id _parent; /* unretained */
|
2002-11-15 22:57:05 +00:00
|
|
|
EOAttribute *_prototype;
|
|
|
|
EOExpressionArray *_definitionArray;
|
|
|
|
EOAttribute *_realAttribute; // if the attribute is flattened //Not in EOF !
|
|
|
|
}
|
|
|
|
|
|
|
|
/** returns an autoreleased attribute owned by onwer and built from propertyList **/
|
2004-04-17 11:30:47 +00:00
|
|
|
+ (id)attributeWithPropertyList: (NSDictionary *)propertyList
|
|
|
|
owner: (id)owner;
|
2002-11-15 22:57:05 +00:00
|
|
|
|
2010-05-30 18:24:14 +00:00
|
|
|
/** returns an autoreleased attribute **/
|
|
|
|
|
|
|
|
+ (id) attributeWithParent:(EOEntity *) parent
|
|
|
|
definition:(NSString*) def;
|
|
|
|
|
2002-11-15 22:57:05 +00:00
|
|
|
/* Accessing the entity */
|
|
|
|
- (NSString *)name;
|
|
|
|
|
|
|
|
- (EOEntity *)entity;
|
|
|
|
|
|
|
|
- (EOStoredProcedure *)storedProcedure;
|
|
|
|
|
|
|
|
- (id)parent;
|
|
|
|
|
|
|
|
- (NSString *)prototypeName;
|
|
|
|
- (EOAttribute *)prototype;
|
|
|
|
|
|
|
|
- (NSString *)externalType;
|
|
|
|
|
|
|
|
- (NSString *)columnName;
|
|
|
|
|
|
|
|
- (NSString *)definition;
|
|
|
|
|
|
|
|
- (BOOL)isFlattened;
|
|
|
|
|
|
|
|
- (BOOL)isDerived;
|
|
|
|
|
|
|
|
- (BOOL)isReadOnly;
|
|
|
|
|
|
|
|
- (NSString *)valueClassName;
|
|
|
|
|
|
|
|
- (NSString *)valueType;
|
|
|
|
|
2009-01-26 12:05:29 +00:00
|
|
|
- (unsigned int)width;
|
2002-11-15 22:57:05 +00:00
|
|
|
|
2009-01-26 12:05:29 +00:00
|
|
|
- (unsigned int)precision;
|
2002-11-15 22:57:05 +00:00
|
|
|
|
|
|
|
- (int)scale;
|
|
|
|
|
|
|
|
- (BOOL)allowsNull;
|
|
|
|
|
|
|
|
- (NSString *)writeFormat;
|
|
|
|
- (NSString *)readFormat;
|
|
|
|
|
|
|
|
- (EOParameterDirection)parameterDirection;
|
|
|
|
|
|
|
|
- (NSDictionary *)userInfo;
|
|
|
|
|
|
|
|
- (NSString *)docComment;
|
|
|
|
|
|
|
|
- (BOOL)isKeyDefinedByPrototype: (NSString *)key;
|
|
|
|
|
2010-06-04 05:41:58 +00:00
|
|
|
/**
|
|
|
|
* Returns YES if the attribute references aProperty, NO otherwise.
|
|
|
|
*/
|
|
|
|
|
|
|
|
- (BOOL)referencesProperty:(id)aProperty;
|
|
|
|
|
|
|
|
- (void)setParent: (id)parent;
|
|
|
|
|
2002-11-15 22:57:05 +00:00
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@interface EOAttribute (EOAttributeEditing)
|
|
|
|
|
|
|
|
- (NSException *)validateName: (NSString *)name;
|
|
|
|
|
|
|
|
- (void)setName: (NSString *)name;
|
|
|
|
|
2003-04-18 19:01:06 +00:00
|
|
|
- (void)setPrototype: (EOAttribute *)prototype;
|
2002-11-15 22:57:05 +00:00
|
|
|
|
|
|
|
- (void)setReadOnly: (BOOL)yn;
|
|
|
|
|
|
|
|
- (void)setColumnName: (NSString *)columnName;
|
|
|
|
|
|
|
|
- (void)setDefinition: (NSString *)definition;
|
|
|
|
|
|
|
|
- (void)setExternalType: (NSString *)type;
|
|
|
|
|
|
|
|
- (void)setValueType: (NSString *)type;
|
|
|
|
|
|
|
|
- (void)setValueClassName: (NSString *)name;
|
|
|
|
|
2009-01-26 12:05:29 +00:00
|
|
|
- (void)setWidth: (unsigned int)length;
|
2002-11-15 22:57:05 +00:00
|
|
|
|
2009-01-26 12:05:29 +00:00
|
|
|
- (void)setPrecision: (unsigned int)precision;
|
2002-11-15 22:57:05 +00:00
|
|
|
|
|
|
|
- (void)setScale: (int)scale;
|
|
|
|
|
|
|
|
- (void)setAllowsNull: (BOOL)allowsNull;
|
|
|
|
|
|
|
|
- (void)setWriteFormat: (NSString *)string;
|
|
|
|
|
|
|
|
- (void)setReadFormat: (NSString *)string;
|
|
|
|
|
|
|
|
- (void)setParameterDirection: (EOParameterDirection)parameterDirection;
|
|
|
|
|
|
|
|
- (void)setUserInfo: (NSDictionary *)dictionary;
|
|
|
|
|
|
|
|
- (void)setInternalInfo: (NSDictionary *)dictionary;
|
|
|
|
|
|
|
|
- (void)setDocComment: (NSString *)docComment;
|
|
|
|
|
2004-04-17 11:30:47 +00:00
|
|
|
- (id)_normalizeDefinition: (EOExpressionArray *)definition
|
2002-11-15 22:57:05 +00:00
|
|
|
path: (id)path;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@interface EOAttribute(EOModelBeautifier)
|
|
|
|
- (void)beautifyName;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface EOAttribute (NSCalendarDateSupport)
|
|
|
|
- (NSTimeZone *)serverTimeZone;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface EOAttribute(NSCalendarDateSupportEditing)
|
|
|
|
- (void)setServerTimeZone: (NSTimeZone *)tz;
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@interface EOAttribute (EOAttributeValueCreation)
|
|
|
|
|
|
|
|
- (id)newValueForBytes: (const void *)bytes
|
|
|
|
length: (int)length;
|
|
|
|
|
|
|
|
- (id)newValueForBytes: (const void *)bytes
|
|
|
|
length: (int)length
|
|
|
|
encoding: (NSStringEncoding)encoding;
|
|
|
|
|
|
|
|
- (NSCalendarDate *)newDateForYear: (int)year
|
2009-01-26 12:05:29 +00:00
|
|
|
month: (unsigned int)month
|
|
|
|
day: (unsigned int)day
|
|
|
|
hour: (unsigned int)hour
|
|
|
|
minute: (unsigned int)minute
|
|
|
|
second: (unsigned int)second
|
|
|
|
millisecond: (unsigned int)millisecond
|
2002-11-15 22:57:05 +00:00
|
|
|
timezone: (NSTimeZone *)timezone
|
|
|
|
zone: (NSZone *)zone;
|
|
|
|
|
|
|
|
- (NSString *)valueFactoryMethodName;
|
|
|
|
|
|
|
|
- (SEL)valueFactoryMethod;
|
|
|
|
|
|
|
|
- (id)adaptorValueByConvertingAttributeValue: (id)value;
|
|
|
|
|
|
|
|
- (NSString *)adaptorValueConversionMethodName;
|
|
|
|
|
|
|
|
- (SEL)adaptorValueConversionMethod;
|
|
|
|
|
|
|
|
- (EOAdaptorValueType)adaptorValueType;
|
|
|
|
|
|
|
|
- (EOFactoryMethodArgumentType)factoryMethodArgumentType;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@interface EOAttribute(EOAttributeValueCreationEditing)
|
|
|
|
|
|
|
|
- (void)setValueFactoryMethodName: (NSString *)factoryMethodName;
|
|
|
|
|
|
|
|
- (void)setAdaptorValueConversionMethodName: (NSString *)conversionMethodName;
|
|
|
|
|
|
|
|
- (void)setFactoryMethodArgumentType: (EOFactoryMethodArgumentType)argumentType;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface EOAttribute(EOAttributeValueMapping)
|
|
|
|
- (NSException *)validateValue: (id *)valueP;
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
@interface NSObject (EOCustomClassArchiving)
|
|
|
|
|
2004-04-17 11:30:47 +00:00
|
|
|
+ (id)objectWithArchiveData: (NSData *)data;
|
2002-11-15 22:57:05 +00:00
|
|
|
- (NSData *)archiveData;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
#endif /* __EOAttribute_h__ */
|