Classes
Protocols
Constants
Functions
Macros
Types
Variables

### Classes

EOAccessArrayFaultHandler
EOAccessFaultHandler
EOAccessGenericFaultHandler
EOAdaptor
EOAdaptorChannel
EOAdaptorContext
EOAdaptorOperation
EOAttribute
EODatabase
EODatabaseChannel
EODatabaseContext
EODatabaseDataSource
EODatabaseOperation
EOEntity
EOEntityClassDescription
EOJoin
EOLoginPanel
EOModel
EOModelGroup
EORelationship
EOSQLExpression
EOSQLExpressionFactory
EOSQLQualifier
EOStoredProcedure

### Protocols

<EOColumnTypes>
<EOPropertyListEncoding>
<EOQualifierSQLGeneration>
(EOAdaptorChannelDelegation)
(EOAdaptorContextDelegation)
(EOAdaptorDelegate)
(EODatabaseContextDelegation)
(EOModelGroupClassDelegation)
(EOModelGroupDelegation)
(EOSchemaSynchronizationDelegates)

### Constants

### Functions

EODatabaseContext_globalIDForObjectWithImpPtr
EODatabaseContext_snapshotForGlobalIDWithImpPtr
GDL2_EOAccessPrivateInit

### Macros

### Types

EOAdaptorOperator
EODatabaseOperator
EODelegateResponse
EOJoinSemantic
EOUpdateStrategy

### Variables

EOAccessFaultObjectNotAvailableException
EOAdaptorContextBeginTransactionNotification
EOAdaptorContextCommitTransactionNotification
EOAdaptorContextRollbackTransactionNotification
EOAdaptorFailureKey
EOAdaptorKey
EOAdaptorOperationsKey
EOAdaptorOptimisticLockingFailure
EOAdministrativeConnectionDictionaryKey
EOAdministrativeConnectionDictionaryNeededNotification
EOAllowsNullKey
EOBindVariableAttributeKey
EOBindVariableColumnKey
EOBindVariableNameKey
EOBindVariablePlaceHolderKey
EOBindVariableValueKey
EOColumnNameKey
EOConnectionDictionaryKey
EOCreateDatabaseKey
EOCreatePrimaryKeySupportKey
EOCreateTablesKey
EOCustomQueryExpressionHintKey
EODatabaseChannelNeededNotification
EODatabaseContextKey
EODatabaseOperationsKey
EODeleteProcedureOperation
EODistantPastTimeInterval
EODropDatabaseKey
EODropPrimaryKeySupportKey
EODropTablesKey
EOEntityLoadedNotification
EOExternalNameKey
EOExternalTypeKey
EOFailedAdaptorOperationKey
EOFailedDatabaseOperationKey
EOFetchAllProcedureOperation
EOFetchWithPrimaryKeyProcedureOperation
EOForeignKeyConstraintsKey
EOGeneralAdaptorException
EOGeneralDatabaseException
EOInsertProcedureOperation
EOModelAddedNotification
EOModelInvalidatedNotification
EOModelKey
EOMoreThanOneException
EONameKey
EONextPrimaryKeyProcedureOperation
EOPrecisionKey
EOPrimaryKeyConstraintsKey
EORelationshipsKey
EOScaleKey
EOSchemaSynchronizationForeignKeyConstraintsKey
EOSchemaSynchronizationPrimaryKeyConstraintsKey
EOSchemaSynchronizationPrimaryKeySupportKey
EOStoredProcedureNameHintKey
EOWidthKey
GDL2_EOAttributeClass
GDL2_EODatabaseContextClass
GDL2_EODatabaseContext__globalIDForObjectIMP
GDL2_EODatabaseContext_snapshotForGlobalIDIMP
GDL2_EOEntityClass
GDL2_EORelationshipClass
eqSel
struct _EOTransactionScope

Up

# EOAttribute Class

### Authors

Mirko Viviani (`mirko.viviani@gmail.com`)
Manuel Guesdon (`mguesdon@orange-concept.com`)

Date: Generated at 2026-02-03 22:13:20 +0000

Copyright: (C) 2000-2002,2003,2004,2005 Free Software Foundation, Inc.

### Contents -

1. Software documentation for the EOAttribute class
2. Software documentation for the EOAttribute(EOAttributeEditing) category

# Software documentation for the EOAttribute class

## EOAttribute : NSObject

> Declared in:
>   EOAccess/EOAttribute.h

> Conforms to:
>   EOPropertyListEncoding

Description forthcoming.

Instance Variables

### Method summary

- -_normalizeDefinition:path:
- -setAllowsNull:
- -setColumnName:
- -setDefinition:
- +attributeWithParent:definition:
- +attributeWithPropertyList:owner:
- -allowsNull
- -columnName
- -definition
- -docComment
- -entity
- -externalType
- -isDerived
- -isFlattened
- -isReadOnly
- -name
- -parameterDirection
- -parent
- -precision
- -prototype
- -prototypeName
- -readFormat
- -referencesProperty:
- -relationshipPath
- -scale
- -setEntity:
- -setParent:
- -storedProcedure
- -targetAttribute
- -userInfo
- -valueClassName
- -valueType
- -width
- -writeFormat

### attributeWithParent: definition:

+ (id) attributeWithParent: (EOEntity*)parent definition: (NSString*)def;
returns an autoreleased attribute

### attributeWithPropertyList: owner:

+ (id) attributeWithPropertyList: (NSDictionary*)propertyList owner: (id)owner;
returns an autoreleased attribute owned by onwer and built from propertyList

### allowsNull

- (BOOL) allowsNull;
Description forthcoming.

### columnName

- (NSString*) columnName;
Description forthcoming.

### definition

- (NSString*) definition;
Description forthcoming.

### docComment

- (NSString*) docComment;
Description forthcoming.

### entity

- (EOEntity*) entity;
4.5 Docs say: Returns the entity that owns the attribute, or `nil` if this attribute is acting as an argument for a stored procedure. 5.x returns the parent

### externalType

- (NSString*) externalType;

Returns the adaptor specific name of externalType. This is the name use during SQL generation.

If the externalType has not been set explicitly and the reciever -isFlattened , the valueClassName of the flattened attribute is returned.

Otherwise, if the reciever has a prototype then the externalType of the prototype is returned.

If all that fails, this method returns `nil`.

### isDerived

- (BOOL) isDerived;
Return `NO` when the attribute corresponds to one SQL column in its entity associated table return `YES` otherwise. An attribute with a definition such as "anotherAttributeName * 2" is derived. A Flattened attribute is also a derived attributes.

### isFlattened

- (BOOL) isFlattened;
Returns `YES` if the attribute is flattened, `NO` otherwise. A flattened attribute is an attribute with a definition using a relationship to another entity. A Flattened attribute is also a derived attribute.

### isReadOnly

- (BOOL) isReadOnly;
Description forthcoming.

### name

- (NSString*) name;
Description forthcoming.

### parameterDirection

- (EOParameterDirection) parameterDirection;
Description forthcoming.

### parent

- (id) parent;
Description forthcoming.

### precision

- (unsigned int) precision;
Description forthcoming.

### prototype

- (EOAttribute*) prototype;
Description forthcoming.

### prototypeName

- (NSString*) prototypeName;
Description forthcoming.

### readFormat

- (NSString*) readFormat;
Description forthcoming.

### referencesProperty:

- (BOOL) referencesProperty: (id)aProperty;
Returns `YES` if the attribute references aProperty, `NO` otherwise.

### relationshipPath

- (NSString*) relationshipPath;
Description forthcoming.

### scale

- (int) scale;
Description forthcoming.

### setEntity:

- (void) setEntity: (EOEntity*)entity;
Description forthcoming.

### setParent:

- (void) setParent: (id)parent;
Description forthcoming.

### storedProcedure

- (EOStoredProcedure*) storedProcedure;
Description forthcoming.

### targetAttribute

- (EOAttribute*) targetAttribute;
Description forthcoming.

### userInfo

- (NSDictionary*) userInfo;
Description forthcoming.

### valueClassName

- (NSString*) valueClassName;

Returns the name of the class values of this attribute are represented by. The standard classes are NSNumber, NSString, NSData and NSDate for the corresponding -adaptorValueType . A model can define more specific classes like NSDecimalNumber, NSCalendarDate and NSImage or custom classes which implement a factory method specified by [-valueFactoryMethodName] to create instances with the data supplied by the data source.

If the valueClassName has not been set explicitly and the reciever -isFlattened , the valueClassName of the flattened attribute is returned.

Otherwise, if the reciever has a prototype then the valueClassName of the prototype is returned.

If all that fails, this method returns `nil`.

See also:[setValueClassName:]

### valueType

- (NSString*) valueType;

Returns a one character string identifiying the underlying C type of an NSNumber -valueType . The legal values in GDL2 are:

- @"c": char
- @"C": unsigned char
- @"s": short
- @"S": unsigned short
- @"i": int
- @"I": unsigned int
- @"l": long
- @"L": unsigned long
- @"u": long long
- @"U": unsigned long long
- @"f": float
- @"d": double

If the valueType has not been set explicitly and the reciever -isFlattened , the valueClassName of the flattened attribute is returned.

Otherwise, if the reciever has a prototype then the valueType of the prototype is returned.

If all that fails, this method returns `nil`.

### width

- (unsigned int) width;
Description forthcoming.

### writeFormat

- (NSString*) writeFormat;
Description forthcoming.

## Instance Variables for EOAttribute Class

### _adaptorValueConversionMethod

@protected SEL _adaptorValueConversionMethod;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _adaptorValueConversionMethodName

@protected NSString* _adaptorValueConversionMethodName;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _adaptorValueType

@protected EOAdaptorValueType _adaptorValueType;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _argumentType

@protected EOFactoryMethodArgumentType _argumentType;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _columnName

@protected NSString* _columnName;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _definitionArray

@protected EOExpressionArray* _definitionArray;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _docComment

@protected NSString* _docComment;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _externalType

@protected NSString* _externalType;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _internalInfo

@protected NSDictionary* _internalInfo;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _name

@protected NSString* _name;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _parameterDirection

@protected EOParameterDirection _parameterDirection;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _parent

@protected id _parent;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _precision

@protected unsigned short int _precision;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _prototype

@protected EOAttribute* _prototype;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _prototypeName

@protected NSString* _prototypeName;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _readFormat

@protected NSString* _readFormat;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _realAttribute

@protected EOAttribute* _realAttribute;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _scale

@protected short int _scale;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _serverTimeZone

@protected NSTimeZone* _serverTimeZone;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _sourceToDestinationKeyMap

@protected NSDictionary* _sourceToDestinationKeyMap;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _userInfo

@protected NSDictionary* _userInfo;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _valueClass

@protected Class _valueClass;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _valueClassName

@protected NSString* _valueClassName;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _valueFactoryMethod

@protected SEL _valueFactoryMethod;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _valueFactoryMethodName

@protected NSString* _valueFactoryMethodName;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _valueType

@protected NSString* _valueType;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _valueTypeCharacter

@protected unichar _valueTypeCharacter;
First char of _valueType or \0
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _width

@protected unsigned int _width;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _writeFormat

@protected NSString* _writeFormat;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### extraRefCount

@protected unsigned int extraRefCount;
Description forthcoming.

# Software documentation for the EOAttribute(EOAttributeEditing) category

## EOAttribute(EOAttributeEditing)

> Declared in:
>   EOAccess/EOAttribute.h

Description forthcoming.

### Method summary

- -_normalizeDefinition:path:
- -setAllowsNull:
- -setColumnName:
- -setDefinition:

### _normalizeDefinition: path:

- (id) _normalizeDefinition: (id)definition path: (NSArray*)path;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### setAllowsNull:

- (void) setAllowsNull: (BOOL)allowsNull;
Description forthcoming.

### setColumnName:

- (void) setColumnName: (NSString*)columnName;
Description forthcoming.

### setDefinition:

- (void) setDefinition: (NSString*)definition;

Sets the definition of a derived attribute.

An EOAttribute can either reference column from the entites external representation or define a derived attribute such a cacluclated value or a key path. The values to these attributes are cached in memory.

Up