| 
WebObjects 5.2.2 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object | +--com.webobjects.eoaccess.EOEntity
An EOEntity describes a table in a database and associates a name internal to the Enterprise Objects Framework with an external name by which the table is known to the database. An EOEntity maintains a group of attributes and relationships, which are collectively called properties. These are represented by the EOAttribute and EORelationship classes, respectively.
You usually define entities in an EOModel using the EOModeler application. EOEntity objects are primarily used by the Enterprise Objects Framework for mapping tables in the database to Enterprise Objects in the application. You are not likely to interact with them directly unless you are specifically working with models.
An EOEntity is associated with a specific class whose instances are used to represent records (rows) from the database in applications using layers at or above the database layer of the Enterprise Objects Framework. If an EOEntity doesn't have a specific class associated with it, instances of EOGenericRecord are created.
An EOEntity may be marked as read-only, in which case any changes to rows or objects for that entity made by the database level objects are denied.
You can define an external query for an EOEntity to be used when a
 selection is attempted with an unrestricted qualifier (one that would
 select all rows in the entity's table). An external query is sent
 unaltered to the database server and so can use database-specific
 features such as stored procedures; external queries are thus useful
 for hiding records or invoking database-specific features. You can
 also assign stored procedures to be invoked upon particular database
 operations through the use of EOEntity's setStoredProcedure
 method.
Like the other major modeling classes, EOEntity provides a user dictionary for the application to store any application-specific information related to the entity.
Note that if an entity has no Enterprise Object class name, the database-level objects use EOGenericRecord.
setStoredProcedure(EOStoredProcedure storedProcedure, 
      String operation), 
EOAttribute, 
EORelationship, 
EOGenericRecord| Field Summary | |
static String | 
DeleteProcedureOperation
A stored procedure to delete a row.  | 
static String | 
FetchAllProcedureOperation
A stored procedure to fetch all records.  | 
static String | 
FetchWithPrimaryKeyProcedureOperation
A stored procedure to fetch by primary key.  | 
static String | 
InsertProcedureOperation
A stored procedure to insert a row.  | 
static String | 
NextPrimaryKeyProcedureOperation
A stored procedure to generate a new primary key.  | 
| Constructor Summary | |
EOEntity()
Creates and returns a new EOEntity.  | 
|
EOEntity(NSDictionary plist,
         Object owner)
Creates and returns a new EOEntity initialized from the property list plist belonging to the EOModel owner. | 
|
| Method Summary | |
 void | 
addAttribute(EOAttribute attribute)
Adds attribute to the receiver and sets the
 receiver as the attribute's entity. | 
 void | 
addFetchSpecification(EOFetchSpecification fetchSpec,
                      String name)
Adds the fetch specification fetchSpec to the receiver and 
 associates name with it. | 
 void | 
addRelationship(EORelationship relationship)
Adds relationship to the receiver and sets the
 receiver as the relationship's entity. | 
 void | 
addSharedObjectFetchSpecificationByName(String name)
Adds the fetch specification identified by name to the set of
 fetch specifications used to load objects into a shared editing context. | 
 void | 
addSubEntity(EOEntity child)
Adds the EOEntity child as a sub-entity of the receiver. | 
 EOAttribute | 
anyAttributeNamed(String name)
Returns the user-created attribute identified by name. | 
 EORelationship | 
anyRelationshipNamed(String relationshipName)
Returns the user-created relationship identified by relationshipName. | 
 EOAttribute | 
attributeNamed(String attributeName)
Returns the attribute named attributeName,
 or null if no such attribute exists in the receiver. | 
 NSArray | 
attributes()
Returns an array containing all of the receiver's attributes, or null if the receiver has no attributes. | 
 NSArray | 
attributesToFetch()
Returns an array of the EOAttributes that need to be fetched so that they can be included in the row snapshot.  | 
 NSArray | 
attributesUsedForLocking()
Returns an array containing those attributes used for locking, that is, those properties whose values must match a snapshot any time a row is updated.  | 
 void | 
awakeWithPropertyList(NSDictionary pl)
EOEntity's implementation of this method does nothing.  | 
 void | 
beautifyName()
Makes the receiver's name conform to a standard convention.  | 
 boolean | 
cachesObjects()
Returns true if all of the objects from the receiver are to be
 cached in memory and queries are to be evaluated in memory using  this
 cache rather than in the database. | 
 EOClassDescription | 
classDescriptionForInstances()
Returns the EOClassDescription associated with the receiver.  | 
 String | 
className()
Returns the name of the Enterprise Object class associated with the receiver.  | 
 NSArray | 
classProperties()
Returns an array containing the properties that are bound to the receiver's class (so that values corresponding to those properties are passed to instances of that class).  | 
 NSArray | 
classPropertyNames()
Returns an array containing the names of those properties that are bound to the receiver's class (so that values corresponding to those properties are passed to instances of that class).  | 
 String | 
clientClassName()
Returns the name of the client-side Enterprise Object class associated with the receiver.  | 
 NSArray | 
clientClassProperties()
Returns an array containing the properties that are bound to the client-side class corresponding to the receiver.  | 
 NSArray | 
clientClassPropertyNames()
Returns an array containing the names of the properties that are bound to the client-side class corresponding to the entity.  | 
 void | 
encodeIntoPropertyList(NSMutableDictionary result)
Encodes the receiver as a property list.  | 
 NSArray | 
externalModelsReferenced()
Examines each of the receiver's relationships and returns a list of all external models referenced by the receiver, or an empty arrray if no external models are referenced.  | 
 String | 
externalName()
Returns the name of the receiver as understood by the database server, that is, the receiver's external name.  | 
static String | 
externalNameForInternalName(String internalName,
                            String separatorString,
                            boolean allCaps)
Used by the Enterprise Objects Framework to convert an internal object name, internalName to a database schema name that conforms 
 to a standard convention, separating name elements with separatorString
 and capitalizing or lowercasing the external name based on the Boolean parameter
 allCaps. | 
 String | 
externalQuery()
Returns a query statement that is used by an EOAdaptorChannel to select rows for the entity when a qualifier is empty, or null if
 the entity has no external query. | 
 EOFetchSpecification | 
fetchSpecificationNamed(String fetchSpecName)
Returns the fetch specification identified by fetchSpecName. | 
 NSArray | 
fetchSpecificationNames()
Returns an alphabetically sorted array of the names of the receiver's fetch specifications.  | 
 EOGlobalID | 
globalIDForRow(NSDictionary row)
Constructs a unique global identifier for the receiver from the keys and values in the dictionary row, which represents
 a database row. | 
 boolean | 
isAbstractEntity()
Returns true if the receiver is an abstract entity,
 false otherwise. | 
 boolean | 
isPrimaryKeyValidInObject(NSKeyValueCoding object)
Returns true if every key attribute is present in
 object and has a value that is not null. | 
 boolean | 
isQualifierForPrimaryKey(EOQualifier qualifier)
Returns true if qualifier describes the primary
 key and nothing but the primary key, false otherwise. | 
 boolean | 
isReadOnly()
Returns true if the receiver can not be modified,
 false if it can. | 
 boolean | 
isValidAttributeUsedForLocking(EOAttribute anAttribute)
Returns true if anAttribute can be used for
 locking, false otherwise. | 
 boolean | 
isValidClassProperty(Object aProp)
Returns true if the property aProp is a 
 valid class property of the receiver, false otherwise. | 
 boolean | 
isValidPrimaryKeyAttribute(EOAttribute anAttribute)
Returns false if anAttribute isn't an EOAttribute,
 doesn't belong to the entity or is derived. | 
 int | 
maxNumberOfInstancesToBatchFetch()
Returns the maximum number of to-one faults from the receiver to fire at one time.  | 
 EOModel | 
model()
Returns the EOModel that contains the receiver.  | 
 String | 
name()
Returns the receiver's name.  | 
static String | 
nameForExternalName(String externalName,
                    String separatorString,
                    boolean initialCaps)
Used by the Enterprise Objects Framework to convert a database schema name externalName to an internal object name that conforms 
 to a standard convention, using the capitalization rule initialCaps
 and removing the character separatorString that separates name
 elements in the external name. | 
 EOEntity | 
parentEntity()
Returns the parent entity for the receiver, that is, the entity from which the receiver inherits.  | 
 NSArray | 
primaryKeyAttributeNames()
Returns an array containing the names of the EOAttributes that make up the receiver's primary key.  | 
 NSArray | 
primaryKeyAttributes()
Returns an array of those EOAttributes that make up the receiver's primary key.  | 
 NSDictionary | 
primaryKeyForGlobalID(EOGlobalID gid)
Returns the primary key for the object identified by gid,
 or null if gid is not an instance of EOKeyGlobalID. | 
 NSDictionary | 
primaryKeyForRow(NSDictionary row)
Returns the primary key for row, or null 
 if the primary key can't be computed. | 
 String | 
primaryKeyRootName()
Returns the external name (that is, the name understood by the database) of the receiver's root (parent) entity.  | 
 EOQualifier | 
qualifierForPrimaryKey(NSDictionary row)
Returns a qualifier for the receiver that can be used to fetch an instance of the receiver with the primary key extracted from row. | 
 boolean | 
referencesProperty(Object property)
Returns true if any of the receiver's attributes or
 relationships reference property, false otherwise. | 
 EORelationship | 
relationshipNamed(String relationshipName)
Returns the relationship identified by relationshipName,
 or null if the receiver has no such relationship. | 
 NSArray | 
relationships()
Returns an array containing all of the receiver's relationships or null if the receiver has none. | 
 void | 
removeAttribute(EOAttribute attribute)
If attribute exists, removes it from the receiver. | 
 void | 
removeFetchSpecificationNamed(String name)
Removes the fetch specification identifed by name
 from the receiver. | 
 void | 
removeRelationship(EORelationship relationship)
If relationship exists, removes it from the receiver. | 
 void | 
removeSharedObjectFetchSpecificationByName(String name)
Removes the fetch specification identified by name
 from the set of fetch specifications used to load
 objects into a shared editing context. | 
 void | 
removeSubEntity(EOEntity child)
Removes the EOEntity child from the list of sub-entities that inherit
 from the receiver. | 
 EOQualifier | 
restrictingQualifier()
Returns the qualifier used to restrict all queries made against the receiver.  | 
 EOQualifier | 
schemaBasedQualifier(EOQualifier qualifier)
Returns an SQL qualifier based on qualifier that is 
 suitable for evaluation by a database (as opposed to in-memory evaluation). | 
 boolean | 
setAttributesUsedForLocking(NSArray attributes)
If all of the the EOAttributes in attributes can be used
 by an EODatabaseChannel to lock Enterprise Objects for updates, sets 
 attributes as the receiver's attributes used for locking
 and returns true. | 
 void | 
setCachesObjects(boolean flag)
Based on the Boolean value flag, sets whether the receiver's 
 Enterprise Objects are cached the first time the associated database
 table is queried. | 
 void | 
setClassName(String name)
Assigns name as the name of the Enterprise Object class associated 
 with the receiver if name is not null. | 
 boolean | 
setClassProperties(NSArray attributes)
If all of the the EOAttributes in attributes are valid
 class properties of the receiver, sets attributes as the 
 receiver's class properties and returns true. | 
 void | 
setExternalName(String string)
Sets the name of the receiver as understood by the database server (that is, the receiver's external name) to string. | 
 void | 
setExternalQuery(String string)
Assigns string as the query statement used for selecting rows
 from the entity when there is no qualifier. | 
 void | 
setIsAbstractEntity(boolean flag)
Based on the Boolean flag, sets whether the receiver
 is an abstract entity, false otherwise. | 
 void | 
setMaxNumberOfInstancesToBatchFetch(int size)
Sets the maximum number of faults from the entity to trigger at one time to size. | 
 void | 
setName(String name)
Sets the receiver's name to name. | 
 boolean | 
setPrimaryKeyAttributes(NSArray attributes)
If all of the the EOAttributes in attributes are valid
 primary keys of the receiver, sets attributes as the 
 receiver's primary keys and returns true. | 
 void | 
setReadOnly(boolean flag)
Sets whether the receiver is read-only based on the Boolean value flag. | 
 void | 
setRestrictingQualifier(EOQualifier qualifier)
Assigns qualifier as the qualifier used to restrict
 all queries made against the receiver. | 
 void | 
setSharedObjectFetchSpecificationsByName(NSArray names)
Sets the names of the fetch specifications used to load objects into a shared editing context to names. | 
 void | 
setStoredProcedure(EOStoredProcedure storedProcedure,
                   String operation)
Sets storedProcedure as a stored procedure for the receiver
 and associates with it the name operation, which must be one 
 of the following:FetchAllProcedureOperation
    FetchWithPrimaryKeyProcedureOperation
    InsertProcedureOperation
    DeleteProcedureOperation
    NextPrimaryKeyProcedureOperation
 
 This information is used when changes from the object
 graph have been transformed into EODatabaseOperations
 that are being used to construct EOAdaptorOperations. | 
 void | 
setUserInfo(NSDictionary dictionary)
Sets the dictionary of auxiliary user data to dictionary. | 
 NSArray | 
sharedObjectFetchSpecificationNames()
Returns an array of strings, which are the names of the fetch specifications used to load objects into a shared editing context.  | 
 EOStoredProcedure | 
storedProcedureForOperation(String operation)
Returns the stored procedure identified by the name operation,
 if one has been set. | 
 NSArray | 
subEntities()
Returns a list of those entities that inherit from the receiver, or an empty array if no entities inherit from the receiver.  | 
 String | 
toString()
Returns a string representation of all the receiver's properties.  | 
 NSDictionary | 
userInfo()
Returns a dictionary of user data.  | 
 String | 
valueForSQLExpression(EOSQLExpression context)
Returns an SQL query string based on the receiver's external name and an EOSQLExpression object context. | 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
public static final String DeleteProcedureOperation
public static final String FetchAllProcedureOperation
public static final String FetchWithPrimaryKeyProcedureOperation
public static final String InsertProcedureOperation
public static final String NextPrimaryKeyProcedureOperation
| Constructor Detail | 
public EOEntity()
public EOEntity(NSDictionary plist,
                Object owner)
plist belonging to the EOModel owner.  
 plist is dictionary containing only property list data types 
 (that is, NSDictionary, NSArray, NSData, and String). This constructor is 
 used by EOModeler when it reads in an EOModel from a file.
plist - A dictionary of property list values from which to initialize
              the new EOEntity object.owner - The EOModel to which the newly created entity belongs.EOPropertyListEncoding.encodeIntoPropertyList(NSMutableDictionary
                                                            propertyList), 
EOPropertyListEncoding.awakeWithPropertyList(NSDictionary
              propertyList)| Method Detail | 
public void addAttribute(EOAttribute attribute)
attribute to the receiver and sets the
 receiver as the attribute's entity. Throws an exception if:
 attribute is null.attribute has an EOEntity set that is different 
        than the receiver.attribute's name is already in use by another
        attribute or relationship belonging to the receiver.
    
attribute - A attribute to add to the receiver.
IllegalArgumentException - if attribute's name 
                  is null or is already in use by another attribute 
                  or relationship; or if attribute has a different 
                  entity already set.
RuntimeException - if an error is encountered during processing;
                  the error text indicates the nature of the exception.removeAttribute(EOAttribute name), 
attributes(), 
attributeNamed(String attributeName)
public void addFetchSpecification(EOFetchSpecification fetchSpec,
                                  String name)
fetchSpec to the receiver and 
 associates name with it.  Throws an exception if the 
 entityName for fetchSpec is different than the
 receiver's name.
fetchSpec - A fetch specification.name - A name for fetchSpec.fetchSpecificationNamed(String fetchSpecName), 
fetchSpecificationNames(), 
removeFetchSpecificationNamed(String fetchSpecName)public void addRelationship(EORelationship relationship)
relationship to the receiver and sets the
 receiver as the relationship's entity. Throws an exception if:
 relationship is null.relationship has an EOEntity set that is different 
        than the receiver.relationship's name is already in use by another
        attribute or relationship belonging to the receiver.
    
relationship - A relationship to add to the receiver.
IllegalArgumentException - if relationship's name 
                      is null or is already in use by another attribute 
                      or relationship; or if relationship has a different 
                      entity already set.
RuntimeException - if an error is encountered during processing;
                      the error text indicates the nature of the exception.removeRelationship(EORelationship name), 
relationships(), 
relationshipNamed(String name)public void addSharedObjectFetchSpecificationByName(String name)
name to the set of
 fetch specifications used to load objects into a shared editing context.
name - The name of a fetch specification to add to the receiver's
             list of shared object fetch specifications.public void addSubEntity(EOEntity child)
child as a sub-entity of the receiver.
 This is the first step in setting up an inheritance hierarchy
 between entities.
 NOTE: addSubEntity and removeSubEntity are not
 thread-safe.  In general, modifying an EOModel programmatically is not thread-safe.
child - An EOEntity which will inherit from the receiver.subEntities(), 
removeSubEntity(EOEntity child)public EOAttribute anyAttributeNamed(String name)
name.
 If no such attribute exists, this method looks through the "hidden"
 attributes created by the Enterprise Objects Framework for one with
 the given name. Hidden attributes are used for such things as primary
 keys on target entities of flattened attributes.  Returns null
 if no attribute with the given name is found.
name - The name of an attribute.
name, or null.attributeNamed(String attributeName), 
attributes()public EORelationship anyRelationshipNamed(String relationshipName)
relationshipName.
 If none exists, this method looks through the "hidden" relationships
 created by the Enterprise Objects Framework for one with the given name.
 If none is found, null is returned.
relationshipName - The name of a relationship.
null.relationshipNamed(String name), 
relationships()public EOAttribute attributeNamed(String attributeName)
attributeName,
 or null if no such attribute exists in the receiver.
attributeName - The name of an attribute.
null.anyAttributeNamed(String attributeName), 
attributes(), 
relationshipNamed(String name)public NSArray attributes()
null if the receiver has no attributes. Throws
 a runtime exception if an error in encountered during evaluation;
 the error text indicates the nature of the exception.
null.anyAttributeNamed(String attributeName), 
attributeNamed(String attributeName)public NSArray attributesToFetch()
public NSArray attributesUsedForLocking()
EODatabaseContextpublic void awakeWithPropertyList(NSDictionary pl)
awakeWithPropertyList in interface EOPropertyListEncodingpl - The property list representation of an object.public void beautifyName()
setName(String name), 
EOModel.beautifyNames()public boolean cachesObjects()
true if all of the objects from the receiver are to be
 cached in memory and queries are to be evaluated in memory using  this
 cache rather than in the database. This method should only be used for
 fairly small tables of read-only objects, since the first access to the
 entity will trigger fetching the entire table. You should generally
 restrict this method to read-only entities to avoid cached data becoming
 out of sync with database data. Also, you shouldn't use this method if the
 application will be making any queries against the entity that can't be evaluated
 in memory.
true if all of the objects from the receiver are to be
         cached in memory.setCachesObjects(boolean flag)public EOClassDescription classDescriptionForInstances()
EOClassDescription, 
EOEntitypublic String className()
public NSArray classProperties()
classPropertyNames()public NSArray classPropertyNames()
classProperties()public String clientClassName()
Equivalent to the EOAccessAdditions method 
 clientClassNameForEntity in the EOJavaClient
 Framework in WebObjects 4.5.x.
public NSArray clientClassProperties()
Equivalent to the EOAccessAdditions method 
 clientClassPropertiesForEntity in the EOJavaClient
 Framework in WebObjects 4.5.x.
public NSArray clientClassPropertyNames()
Equivalent to the EOAccessAdditions method 
 clientClassPropertyNamesForEntity in the EOJavaClient
 Framework in WebObjects 4.5.x.
public void encodeIntoPropertyList(NSMutableDictionary result)
encodeIntoPropertyList in interface EOPropertyListEncodingresult - A property list representation of the receiver.public NSArray externalModelsReferenced()
referencesProperty(Object property)public String externalName()
public static String externalNameForInternalName(String internalName,
                                                 String separatorString,
                                                 boolean allCaps)
internalName to a database schema name that conforms 
 to a standard convention, separating name elements with separatorString
 and capitalizing or lowercasing the external name based on the Boolean parameter
 allCaps.  
 By default, the separator string is an underscore and full capitalization 
 is turned on. Consequently "name" becomes "NAME" and "firstName" becomes "FIRST_NAME". 
 If allCaps is false, this method converts "firstName" to 
 "first_name". A different separator string may also be specified.
internalName - An internal object model name.separatorString - A character that is used to separate name elements.allCaps - Boolean flag to determine whether to capitalize the 
                        returned external name.
internalName, separatorString,
                        and allCaps.nameForExternalName(String externalName, String separatorString, 
                                            boolean initialCaps)public String externalQuery()
null if
 the entity has no external query. An empty qualifier is one that specifies
 only the entity and would thus fetch all Enterprise Objects for
 that entity.
 
 External queries are useful for hiding records or invoking database-specific features such as stored procedures when an application attempts to select all records for an entity. You can also use the EOStoredProcedure class to work with stored procedures.
null.setExternalQuery(String name), 
EOStoredProcedurepublic EOFetchSpecification fetchSpecificationNamed(String fetchSpecName)
fetchSpecName.
fetchSpecName - The name of a fetch specification.
fetchSpecName.addFetchSpecification(EOFetchSpecification
                      fetchSpec, String fetchSpecName), 
fetchSpecificationNames(), 
removeFetchSpecificationNamed(String fetchSpecName)public NSArray fetchSpecificationNames()
addFetchSpecification(EOFetchSpecification
         fetchSpec, String fetchSpecName), 
fetchSpecificationNamed(String fetchSpecName), 
removeFetchSpecificationNamed(String fetchSpecName)public EOGlobalID globalIDForRow(NSDictionary row)
row, which represents
 a database row.
row - A dictionary representation of a database row from which to create 
            an EOGlobalID for the receiver.
primaryKeyForGlobalID(com.webobjects.eocontrol.EOGlobalID
            globalID)public boolean isAbstractEntity()
true if the receiver is an abstract entity,
 false otherwise. An abstract entity is one that has no
 corresponding Enterprise Objects in the application.
 Abstract entities are used to model inheritance relationships.
 For example, you might have a Person abstract entity that acts
 as the parent of Customer and Employee entities. Customer and
 Employee would inherit certain characteristics from Person
 (such as name and address attributes). However, though the
 application might have Customer and Employee objects, it would
 never have a Person object.
true if the receiver is an abstract entity.setIsAbstractEntity(boolean flag)public boolean isPrimaryKeyValidInObject(NSKeyValueCoding object)
true if every key attribute is present in
 object and has a value that is not null.
 Returns false otherwise. This method uses the EOKeyValueCoding
 interface so the object parameter may be a dictionary 
 instead of an Enterprise Object.
object - The object to query.
true if every key attribute in object
               is valid.primaryKeyForRow(NSDictionary aRow)public boolean isQualifierForPrimaryKey(EOQualifier qualifier)
true if qualifier describes the primary
 key and nothing but the primary key, false otherwise.  Throws
 a runtime exception if an error in encountered during evaluation;  the error
 text indicates the nature of the exception.
qualifier - An EOQualifier object.
true if qualifier describes
                  only the primary key.public boolean isReadOnly()
true if the receiver can not be modified,
 false if it can. If an entity is read-only,
 then Enterprise Objects fetched for that entity are also
 read-only (that is, can not be inserted, deleted, or updated).
true if the entity can't be modified.public boolean isValidAttributeUsedForLocking(EOAttribute anAttribute)
true if anAttribute can be used for
 locking, false otherwise.  In order for an attribute to 
 be valid for locking, it must be an attribute belonging to the receiver
 and must not be a derived attribute.  Used to test the validity of
 an attribute for locking before passing it to 
 setAttributesUsedForLocking.
anAttribute - An EOAttribute.
true if the attribute can be used
                    for locking.attributesUsedForLocking(), 
setAttributesUsedForLocking(NSArray attributes)public boolean isValidClassProperty(Object aProp)
true if the property aProp is a 
 valid class property of the receiver, false otherwise.  
 To be a valid class property, a property must be an instance of 
 EOAttribute or EORelationship. 
 Note that this method does not tell you whether
 aProp is a member of the array returned by the
 classProperties method. In other words, unlike 
 classProperties, classPropertyNames,
 and setClassProperties, this method does not interact
 with the properties bound to the receiver's Enterprise Object class.
aProp - The property to query.
true if aProp is a valid
              class property of the receiver.classProperties(), 
classPropertyNames(), 
setClassProperties(NSArray attributes)public boolean isValidPrimaryKeyAttribute(EOAttribute anAttribute)
false if anAttribute isn't an EOAttribute,
 doesn't belong to the entity or is derived.
 Otherwise returns true.
anAttribute - the attribute to query
false if anAttribute isn't an
                    EOAttribute, doesn't belong to the entity, or is derived.setPrimaryKeyAttributes(NSArray keys)public int maxNumberOfInstancesToBatchFetch()
setMaxNumberOfInstancesToBatchFetch(int size)public EOModel model()
EOModel.addEntity(EOEntity anEntity)public String name()
public static String nameForExternalName(String externalName,
                                         String separatorString,
                                         boolean initialCaps)
externalName to an internal object name that conforms 
 to a standard convention, using the capitalization rule initialCaps
 and removing the character separatorString that separates name
 elements in the external name.
 By default, the separator string is assumed to be an underscore, however a 
 different character may be specified, as used by the database.  The default
 capitalization rule for EOAttribute, EORelationship, or EOStored procedure object
 names is false, that is, all lower-case except for the initial letter 
 of each embedded word other than the first, which is upper-case. Consequently,
 "NAME" becomes "name" and "FIRST_NAME" becomes "firstName". 
The default capitalization rule for EOEntity object names is true,
 that is, is all lower-case except for the initial letter of each word. Consequently
 "CUSTOMER_ACCOUNT" becomes "CustomerAccount".
externalName - A table or column name in the database schema.separatorString - A character that is used to separate name elements in the
                        externalName.initialCaps - Boolean flag to determine whether to capitalize the initial
                        letter of every name element.
externalName,
                        separatorString, and initialCaps.externalNameForInternalName(String internalName, 
                                                     String separatorString, boolean allCaps), 
beautifyName(), 
EOModel.beautifyNames(), 
EOAttribute.beautifyName(), 
EORelationship.beautifyName(), 
EOStoredProcedure.beautifyName()public EOEntity parentEntity()
subEntities()public NSArray primaryKeyAttributeNames()
primaryKeyAttributes()public NSArray primaryKeyAttributes()
primaryKeyAttributeNames()public NSDictionary primaryKeyForGlobalID(EOGlobalID gid)
gid,
 or null if gid is not an instance of EOKeyGlobalID.
gid - The unique identifier for an Enterprise Object.
gid
            or null.globalIDForRow(NSDictionary row)public NSDictionary primaryKeyForRow(NSDictionary row)
row, or null 
 if the primary key can't be computed. The primary key is a dictionary 
 whose keys are attribute names and whose values are values
 for those attributes.
row - The dictionary of keys and values representing a database row.
row, or null.primaryKeyForGlobalID(EOGlobalID gid)public String primaryKeyRootName()
externalName(), 
name(), 
parentEntity()public EOQualifier qualifierForPrimaryKey(NSDictionary row)
row.  Throws an exception if
 the value of the primary key obtained from row
 is either null or NSKeyValueCoding.NullValue.
row - A primary key dictionary for a row in the database.
row.
IllegalArgumentException - if the primary key is 
            null or NSKeyValueCoding.NullValue.isQualifierForPrimaryKey(EOQualifier aQualifier), 
restrictingQualifier()public boolean referencesProperty(Object property)
true if any of the receiver's attributes or
 relationships reference property, false otherwise. A
 property can be referenced by a flattened attribute or by a relationship.
 For example, suppose a model has an Employee entity with a toDepartment
 relationship. If you flatten the department's name attribute into the
 Employee entity, creating a departmentName attribute, that
 flattened attribute references the toDepartment relationship. If an
 entity has any outstanding references to a property, you shouldn't remove
 the property.
property - An attribute or relationship of the receiver.
true if any of the receiver's attributes or 
                 relationships reference property.removeAttribute(EOAttribute name), 
removeRelationship(EORelationship name)public EORelationship relationshipNamed(String relationshipName)
relationshipName,
 or null if the receiver has no such relationship.
relationshipName - The name of a relationship.
null.anyRelationshipNamed(String relationshipName), 
attributeNamed(String attributeName), 
relationships()public NSArray relationships()
null if the receiver has none.  Throws a runtime 
 exception if an error is encountered during processing; the error
 text indicates the nature of the exception.
null.attributes()public void removeAttribute(EOAttribute attribute)
attribute exists, removes it from the receiver.
 Always use referencesProperty to check that an attribute
 isn't referenced by another property before removing it.
attribute - An existing attribute of the receiver.addAttribute(EOAttribute anAttribute), 
attributes(), 
referencesProperty(Object property)public void removeFetchSpecificationNamed(String name)
name
 from the receiver.
name - The name of a fetch specification to remove.addFetchSpecification(EOFetchSpecification fetchSpec,
             String fetchSpecName), 
fetchSpecificationNamed(String fetchSpecName), 
fetchSpecificationNames()public void removeRelationship(EORelationship relationship)
relationship exists, removes it from the receiver.
 Always use referencesProperty to check that a relationship 
 isn't referenced by another property before removing it.
relationship - The relationship to remove from the receiver.addRelationship(EORelationship aRelationship), 
relationships(), 
referencesProperty(Object property)public void removeSharedObjectFetchSpecificationByName(String name)
name
 from the set of fetch specifications used to load
 objects into a shared editing context.
name - The name of a fetch specification to remove from 
             the receiver's list of shared object fetch specifications.public void removeSubEntity(EOEntity child)
child from the list of sub-entities that inherit
 from the receiver.
 NOTE: addSubEntity and removeSubEntity are not
 thread-safe.  In general, modifying an EOModel programmatically is not thread-safe.
child - An EOEntity to remove from the receiver's list of sub-entities.addSubEntity(EOEntity child), 
subEntities()public EOQualifier restrictingQualifier()
For example, if you are using the "single table" inheritance model in which parent and child data are contained in the same table, you would use a restricting qualifier to fetch objects of the appropriate type. To give a non-inheritance example, for an Employees table you might create a "Sales" entity that has a restricting qualifier that only fetches employees who are in the Sales department.
setRestrictingQualifier(EOQualifier aQualifier)public EOQualifier schemaBasedQualifier(EOQualifier qualifier)
qualifier that is 
 suitable for evaluation by a database (as opposed to in-memory evaluation). 
 Invoked by an EODatabaseChannel object before it uses its EOAdaptorChannel 
 to perform a database operation. Whereas in-memory qualifier evaluation uses 
 object instance variables to resolve relationships, a database qualifier must use
 foreign keys.
qualifier - A qualifier for in-memory evaluation from which to derive an
                  SQL qualifier for evaluation by the database.
qualifier that uses
                  foreign keys to resolve relationships.EOQualifierEvaluation, 
EODatabaseChannel.selectObjectsWithFetchSpecification(
                  EOFetchSpecification fetchSpecification, EOEditingContext context)public boolean setAttributesUsedForLocking(NSArray attributes)
attributes can be used
 by an EODatabaseChannel to lock Enterprise Objects for updates, sets 
 attributes as the receiver's attributes used for locking
 and returns true. Otherwise returns false and 
 leaves the receiver's currently-set attributes used for locking unchanged.
attributes - An array of attributes to be used for locking
                   on the receiver.
true if attributes can 
                   be set as the receiver's attributes used for locking.isValidAttributeUsedForLocking(EOAttribute anAttribute), 
EODatabase, 
EODatabaseContext, 
EODatabaseChannelpublic void setCachesObjects(boolean flag)
flag, sets whether the receiver's 
 Enterprise Objects are cached the first time the associated database
 table is queried.
flag - Boolean value to set whether the receiver's fetched objects are
             cached.cachesObjects()public void setClassName(String name)
name as the name of the Enterprise Object class associated 
 with the receiver if name is not null. 
 The specified class need not be present in the runtime system when this message 
 is sent. When an EODatabaseChannel fetches objects for the receiver, they are created
 as instances of this class. The application may have to load the class
 on demand if it isn't present in the runtime system; if it doesn't load
 the class, EOGenericRecord will be used.
 
 An Enterprise Object class other than EOGenericRecord can be mapped to only one entity.
name - The name of the enteprise object class associated with the receiver.className()public boolean setClassProperties(NSArray attributes)
attributes are valid
 class properties of the receiver, sets attributes as the 
 receiver's class properties and returns true. Otherwise returns
 false and leaves the currently-set class properties for the
 receiver unchanged.
attributes - An array of attributes to set as the receiver's class
                   properties.
true if attributes can be
                   set as the receiver's class properties.isValidClassProperty(Object property)public void setExternalName(String string)
string. 
 For example, though the application may know the receiver as "JobTitle", 
 the database may require a form such as "JOB_TTL". 
 An adaptor uses the external name to communicate with the database; the application should never need to use the external name.
string - The external (database server) name for the receiver.public void setExternalQuery(String string)
string as the query statement used for selecting rows
 from the entity when there is no qualifier. External queries are useful 
 for hiding records or invoking database-specific features such as stored 
 procedures when an application attempts to select all records for an entity.
 You can also use the EOStoredProcedure class to work with stored
 procedures.
 An external query is sent unaltered to the database server, and so must contain the external (column) names instead of the entity's attribute names. However, to work properly with the adaptor, the external query must use the columns in alphabetical order by their corresponding EOAttributes' names.
string - The query text.externalQuery(), 
EOStoredProcedure, 
EOAttribute.columnName()public void setIsAbstractEntity(boolean flag)
flag, sets whether the receiver
 is an abstract entity, false otherwise. Abstract entities  
 are used to model inheritance relationships.
 For example, you might have a Person abstract entity that acts as the parent of Customer and Employee entities. Customer and Employee would inherit certain characteristics from Person (such as name and address attributes). However, though the application might have Customer and Employee objects, it would never have a Person object.
flag - true if the receiver is an abstract entity.isAbstractEntity()public void setMaxNumberOfInstancesToBatchFetch(int size)
size. By default, 
 only one object is fetched from the database when you trigger 
 a fault. 
 Using this optional method to fetch a batch of faults when one fault is triggered helps to optimize performance by getting extra work done for each round trip to the database.
size - The maximum number of faults to trigger
             at one time.maxNumberOfInstancesToBatchFetch()public void setName(String name)
name.
name - The name to set for the receiver.beautifyName()public boolean setPrimaryKeyAttributes(NSArray attributes)
attributes are valid
 primary keys of the receiver, sets attributes as the 
 receiver's primary keys and returns true. Otherwise returns
 false and leaves the currently-set primary keys for the
 receiver unchanged.
 Primary key attributes should be chosen carefully. Floating-point numbers, for example, can not be reliably compared for equality, and thus are unsuitable for use in primary keys. Integer and string types are the safest choice for primary keys. BigDecimal objects can be used as primary keys, but entail more overhead than integers.
attributes - An array of attributes to be used as primary keys 
                   of the receiver.
true if attribute can be set as 
                   the receiver's primary key attributes.isValidPrimaryKeyAttribute(EOAttribute
                   anAttribute)public void setReadOnly(boolean flag)
flag.  If an entity is read-only, the database rows
 for that entity can not be modified by the application.
flag - Boolean value to set whether the receiver is read-only.isReadOnly()public void setRestrictingQualifier(EOQualifier qualifier)
qualifier as the qualifier used to restrict
 all queries made against the receiver. The restricting
 qualifier can be used to map an entity to a subset of
 the rows in a table.
qualifier - An EOQualifier used to restrict all queries for the receiver.restrictingQualifier()public void setSharedObjectFetchSpecificationsByName(NSArray names)
names.
names - An array of names of fetch specifications.
public void setStoredProcedure(EOStoredProcedure storedProcedure,
                               String operation)
storedProcedure as a stored procedure for the receiver
 and associates with it the name operation, which must be one 
 of the following:FetchAllProcedureOperationFetchWithPrimaryKeyProcedureOperationInsertProcedureOperationDeleteProcedureOperationNextPrimaryKeyProcedureOperation
storedProcedure - A stored procedure for the operation described
                        by the name operation.operation - The name of an EODatabaseOperation.FetchAllProcedureOperation, 
FetchWithPrimaryKeyProcedureOperation, 
InsertProcedureOperation, 
DeleteProcedureOperation, 
NextPrimaryKeyProcedureOperation, 
storedProcedureForOperation(String operation), 
EOStoredProcedurepublic void setUserInfo(NSDictionary dictionary)
dictionary.
 The userInfo dictionary contains arbitrary data that the application can 
 use for whatever it needs. dictionary can only contain property 
 list data types:  String, NSDictionary, NSArray, and NSData.
dictionary - Arbitrary information for use by the application.public NSArray sharedObjectFetchSpecificationNames()
public EOStoredProcedure storedProcedureForOperation(String operation)
operation,
 if one has been set. Otherwise, returns null.
 operation must be one of the following:
 FetchAllProcedureOperationFetchWithPrimaryKeyProcedureOperationInsertProcedureOperationDeleteProcedureOperationNextPrimaryKeyProcedureOperation
operation - The name of a stored procedure.
operation,
                  or null.FetchAllProcedureOperation, 
FetchWithPrimaryKeyProcedureOperation, 
InsertProcedureOperation, 
DeleteProcedureOperation, 
NextPrimaryKeyProcedureOperation, 
setStoredProcedure(EOStoredProcedure storedProcedure
                  , String operation), 
EOAttribute.parameterDirection(), 
EOAttribute.storedProcedure()public NSArray subEntities()
addSubEntity(EOEntity child), 
parentEntity(), 
removeSubEntity(EOEntity child)public String toString()
toString in class Objectpublic NSDictionary userInfo()
setUserInfo(NSDictionary dictionary)public String valueForSQLExpression(EOSQLExpression context)
context. Returns the
 receiver's external name if context is null. 
 For conformance to the EOSQLExpression.SQLValue interface.
valueForSQLExpression in interface EOSQLExpression.SQLValuecontext - An EOSQLExpression object.
context, or
                the receiver's external name.externalName(), 
EOSQLExpression
  | 
Last updated Mon Oct 13 15:42:52 PDT 2003. | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||