Documentation

ETEntityDescription documentation

ETEntityDescription : ETModelElementDescription <ETCollection, ETCollectionMutation>

A description of an entity, which can either be a class or a prototype.

AuthorsGenerated by qmathe
Declared inETEntityDescription.h

Overview

For an introduction, see ETModelElementDescription.

Freezing

If -isFrozen is YES, the entity description is largely immutable, you can only add or remove transient property descriptions with -addPropertyDescription: and -removePropertyDescription .


Metamodel Description

+ (ETEntityDescription *) newEntityDescription

Self-description (aka meta-metamodel).

    + (NSString *) rootEntityDescriptionName

    The name of the entity description that should end the parent chain of every entity description.

    This entity description is the Object primitive in the repository. See ETModelDescriptionRepository.

    Will be used by -checkConstraints: .

      Querying Type

      - (BOOL) isEntityDescription

      Returns YES.

        - (NSString *) typeDescription

        Returns Entity.

          - (BOOL) isPrimitive

          Whether or not this entity is a primitive (i.e. describes attributes and not relationships).

          Primitives include both object and C primitives. e.g. NSString, NSDate, NSInteger, float, etc.

          See also -[ETPropertyDescription isRelationship] .

            - (BOOL) isCPrimitive

            Whether or not this entity is a C primitive (i.e. describes attributes whose values are not objects). e.g. NSInteger, float, etc.

            If YES is returned, -isPrimitive returns the same.

            See also -[ETPropertyDescription isPrimitive] .

              Model Specification

              - (BOOL) abstract

              Whether or not this entity is abstract (i.e. can't be instantiated).

                - (void) setAbstract: (BOOL)abstract

                Whether or not this entity is abstract (i.e. can't be instantiated).

                  Inheritance and Owning Package

                  - (BOOL) isRoot

                  Whether this is a root entity (has no parent entity).

                    - (ETEntityDescription *) parent

                    The parent entity of this entity. (Superclass or prototype)

                    The parent is retained, because the parent doesn't track its subentities.

                      - (void) setParent: (ETEntityDescription *)parent

                      The parent entity of this entity. (Superclass or prototype)

                      The parent is retained, because the parent doesn't track its subentities.

                        - (BOOL) isKindOfEntity: (ETEntityDescription *)anEntityDesc

                        Returns whether the given entity is a subentity of the receiver.

                          - (ETPackageDescription *) owner

                          The package to which this entity belongs to.

                            - (void) setOwner: (ETPackageDescription *)owner

                            The package to which this entity belongs to.

                              Property Descriptions

                              - (NSArray *) propertyDescriptionNames

                              Names of the property descriptions (not including those declared in parent entities).

                                - (NSArray *) allPropertyDescriptionNames

                                Names of all property descriptions including those declared in parent entities.

                                  - (NSArray *) propertyDescriptions

                                  Descriptions of the properties declared on this entity (not including those declared in parent entities).

                                  For each property added or removed, the behavior described in -addPropertyDescription: and -removePropertyDescription: applies.

                                  If -isFrozen returns YES, transient properties can still be added or removed with -addPropertyDescription: and -removePropertyDescription , but not directly with this setter.

                                    - (void) setPropertyDescriptions: (NSArray *)propertyDescriptions

                                    Descriptions of the properties declared on this entity (not including those declared in parent entities).

                                    For each property added or removed, the behavior described in -addPropertyDescription: and -removePropertyDescription: applies.

                                    If -isFrozen returns YES, transient properties can still be added or removed with -addPropertyDescription: and -removePropertyDescription , but not directly with this setter.

                                      - (void) addPropertyDescription: (ETPropertyDescription *)propertyDescription

                                      Adds the given property description to this entity, the entity becomes its owner.

                                      If -isFrozen is YES, this method can still be used to add a transient property description.

                                        - (void) removePropertyDescription: (ETPropertyDescription *)propertyDescription

                                        Removes the given property description from this entity.

                                          - (NSArray *) allPropertyDescriptions

                                          Descriptions of the entity's properties, including those declared in parent entities.

                                          If -isFrozen is YES, this method can still be used to remove a transient property description.

                                            - (NSArray *) allPersistentPropertyDescriptions

                                            Descriptions of the entity's persistent properties, including those declared in parent entities.

                                            See -[ETPropertyDescription isPersistent] .

                                              - (ETPropertyDescription *) propertyDescriptionForName: (NSString *)name

                                              Returns the property description which matches the given name.

                                              See also -propertyDescriptionsForNames: and -[ETModelElementDescription name] which is inherited by ETPropertyDescription.

                                                - (NSArray *) propertyDescriptionsForNames: (NSArray *)names

                                                Returns the property descriptions which matches the given names. See also -propertyDescriptionForName: and -[ETModelElementDescription name] which is inherited by ETPropertyDescription.

                                                  Late-bound References

                                                  - (NSString *) parentName

                                                  The name of the parent entity.

                                                  -[ETModelDescriptionRepository resolveNamedObjectReferences] sets -parent based on the parent name. Once resolved, -parentName returns nil.

                                                  You should use this setter inside +[NSObject newEntityDescription] .

                                                  This property doesn't appear in the meta-metamodel, see +newEntityDescription .

                                                  See also -parent .

                                                    - (void) setParentName: (NSString *)parentName

                                                    The name of the parent entity.

                                                    -[ETModelDescriptionRepository resolveNamedObjectReferences] sets -parent based on the parent name. Once resolved, -parentName returns nil.

                                                    You should use this setter inside +[NSObject newEntityDescription] .

                                                    This property doesn't appear in the meta-metamodel, see +newEntityDescription .

                                                    See also -parent .

                                                      - (NSString *) ownerName

                                                      The name of the package to which this entity belongs to.

                                                      -[ETModelDescriptionRepository resolveNamedObjectReferences] sets -owner based on the owner name. Once resolved, -ownerName returns nil.

                                                      This property doesn't appear in the meta-metamodel, see +newEntityDescription .

                                                      You should use this setter inside +[NSObject newEntityDescription] .

                                                        - (void) setOwnerName: (NSString *)ownerName

                                                        The name of the package to which this entity belongs to.

                                                        -[ETModelDescriptionRepository resolveNamedObjectReferences] sets -owner based on the owner name. Once resolved, -ownerName returns nil.

                                                        This property doesn't appear in the meta-metamodel, see +newEntityDescription .

                                                        You should use this setter inside +[NSObject newEntityDescription] .

                                                          Model Presentation

                                                          - (NSString *) localizedDescription

                                                          A short and human-readable description e.g. Person, Music Track.

                                                          This is used to present the entity type to the user in the UI.

                                                          By default, returns the entity name that is not localized.

                                                            - (void) setLocalizedDescription: (NSString *)localizedDescription

                                                            A short and human-readable description e.g. Person, Music Track.

                                                            This is used to present the entity type to the user in the UI.

                                                            By default, returns the entity name that is not localized.

                                                              UI Builder Support

                                                              - (NSArray *) UIBuilderPropertyNames

                                                              The names of the entity properties visible in a IDE / UI builder inspector (not including those declared in parent entities).

                                                                - (void) setUIBuilderPropertyNames: (NSArray *)UIBuilderPropertyNames

                                                                The names of the entity properties visible in a IDE / UI builder inspector (not including those declared in parent entities).

                                                                  - (NSArray *) allUIBuilderPropertyNames

                                                                  The names of the entity properties visible in a UIDE / UI builder inspector, including those declared in the parent entities.

                                                                    Diff/Merge

                                                                    - (NSString *) diffAlgorithm

                                                                    Diff algorithm name.

                                                                    Normally nil, in which case the default diff/merge algorithm is used.

                                                                      - (void) setDiffAlgorithm: (NSString *)diffAlgorithm

                                                                      Diff algorithm name.

                                                                      Normally nil, in which case the default diff/merge algorithm is used.

                                                                        Validation and Runtime Consistency Check

                                                                        - (ETValidationResult *) validateValue: (id)value forKey: (NSString *)key

                                                                        Tries to validate the value that corresponds to the given property name, by delegating the validation to the right property description, and returns a validation result object.

                                                                          - (BOOL) isValidValue: (id)aValue type: (ETEntityDescription *)anEntityDesc

                                                                          Checks the given value and its type against the receiver type, and returns whether the value type is a subtype of the receiver.

                                                                          This method doesn't execute any model validation as -validateValue:forKey: does.

                                                                            Internal

                                                                            - (BOOL) isFrozen

                                                                            Returns whether the entity description has become immutable.

                                                                            For details, see Freezing section.