(object Petal version 40) (object Design "Logical View" is_unit TRUE is_loaded TRUE file_name "$STDBASE/genus.mdl" defaults (object defaults rightMargin 0.250000 leftMargin 0.250000 topMargin 0.250000 bottomMargin 0.500000 pageOverlap 0.250000 clipIconLabels TRUE autoResize TRUE snapToGrid FALSE gridX 31 gridY 31 defaultFont (object Font size 10 face "Arial" bold FALSE italics FALSE underline FALSE strike FALSE color 0 default_color TRUE) showMessageNum 3 showClassOfObject TRUE notation "Unified") root_usecase_package (object Class_Category "Use Case View" quid "36E2DCB700AC" exportControl "Public" global TRUE logical_models (list unit_reference_list) logical_presentations (list unit_reference_list (object UseCaseDiagram "Main" quid "36E2DCB700DD" title "Main" zoom 100 max_height 28350 max_width 21600 origin_x 0 origin_y 0 items (list diagram_item_list)))) root_category (object Class_Category "Logical View" quid "36E2DCB700AB" exportControl "Public" global TRUE subsystem "Component View" quidu "36E2DCB700AD" logical_models (list unit_reference_list (object Class "Animal" quid "36E2DDAF0104" operations (list Operations (object Operation "makeNoise" quid "36E2DE1F0398" concurrency "Sequential" opExportControl "Public" uid 0))) (object Class "Lion" quid "36E2DDB9024E" documentation "roar" superclasses (list inheritance_relationship_list (object Inheritance_Relationship quid "36E2DDF902E4" supplier "Animal" quidu "36E2DDAF0104")) operations (list Operations (object Operation "makeNoise" quid "36E2DE2F00F0" concurrency "Sequential" opExportControl "Public" uid 0))) (object Class "Snake" quid "36E2DDC8005A" documentation "hiss" superclasses (list inheritance_relationship_list (object Inheritance_Relationship quid "36E2DDFC02F8" supplier "Animal" quidu "36E2DDAF0104")) operations (list Operations (object Operation "makeNoise" quid "36E2DE3B03A2" concurrency "Sequential" opExportControl "Public" uid 0))) (object Class "Wolf" quid "36E2DDCD008C" documentation "howl" superclasses (list inheritance_relationship_list (object Inheritance_Relationship quid "36E2DE000294" supplier "Animal" quidu "36E2DDAF0104")) operations (list Operations (object Operation "makeNoise" quid "36E2DE4400DC" concurrency "Sequential" opExportControl "Public" uid 0))) (object Class "Duck" quid "36E2DDD40078" documentation "quack" superclasses (list inheritance_relationship_list (object Inheritance_Relationship quid "36E2DE050118" supplier "Animal" quidu "36E2DDAF0104")) operations (list Operations (object Operation "makeNoise" quid "36E2DE4D030C" concurrency "Sequential" opExportControl "Public" uid 0))) (object Class "StructuredAnimal" quid "36E2DF080168" operations (list Operations (object Operation "makeNoise" quid "36E2DF2C0118" concurrency "Sequential" opExportControl "Public" uid 0) (object Operation "makeLionNoise" quid "36E2DF320258" concurrency "Sequential" opExportControl "Public" uid 0) (object Operation "makeSnakeNoise" quid "36E2DF3D0320" concurrency "Sequential" opExportControl "Public" uid 0) (object Operation "makeWolfNoise" quid "36E2DF4600D2" concurrency "Sequential" opExportControl "Public" uid 0) (object Operation "makeDuckNoise" quid "36E2DF4E037A" concurrency "Sequential" opExportControl "Public" uid 0))) (object Class "GreyWolf" quid "38FB91191038" superclasses (list inheritance_relationship_list (object Inheritance_Relationship quid "38FB9140B5E8" supplier "Wolf" quidu "36E2DDCD008C")))) logical_presentations (list unit_reference_list (object ClassDiagram "Main" quid "36E2DCB700B0" title "Main" zoom 100 max_height 28350 max_width 21600 origin_x 0 origin_y 0 items (list diagram_item_list (object Label @1 location (538, 98) nlines 1 max_width 600 label "Genus/Species Pattern") (object NoteView @2 location (837, 407) label (object ItemLabel Parent_View @2 location (96, 201) nlines 8 max_width 1447 label |Problem: You have a class of objects that has different behaviors depending on the type of object. | |Structured Solution: List all the behaviors as different functions in one class and use lots of if_then_else and switches in the functions. | |Object Oriented Solution. Classify the general into subclasses and have one function in the general and one for each species. ) width 1507 height 425) (object ClassView "Class" "Animal" @3 SuppressAttribute TRUE IncludeAttribute TRUE IncludeOperation TRUE ShowOperationSignature TRUE location (753, 738) font (object Font size 10 face "Arial" bold FALSE italics TRUE underline FALSE strike FALSE color 0 default_color TRUE) label (object ItemLabel Parent_View @3 location (607, 682) nlines 1 max_width 290 justify 0 label "Animal") quidu "36E2DDAF0104" compartment (object Compartment Parent_View @3 location (605, 740) font (object Font size 10 face "Arial" bold FALSE italics TRUE underline FALSE strike FALSE color 0 default_color TRUE) anchor 2 nlines 1 max_width 304) width 314 height 136 annotation 8 autoResize TRUE) (object ClassView "Class" "Lion" @4 SuppressAttribute TRUE IncludeAttribute TRUE IncludeOperation TRUE ShowOperationSignature TRUE location (212, 1080) label (object ItemLabel Parent_View @4 location (67, 1024) nlines 1 max_width 288 justify 0 label "Lion") quidu "36E2DDB9024E" compartment (object Compartment Parent_View @4 location (65, 1082) anchor 2 nlines 1 max_width 304) width 312 height 136 annotation 8 autoResize TRUE) (object ClassView "Class" "Snake" @5 SuppressAttribute TRUE IncludeAttribute TRUE IncludeOperation TRUE ShowOperationSignature TRUE location (572, 1082) label (object ItemLabel Parent_View @5 location (427, 1026) nlines 1 max_width 288 justify 0 label "Snake") quidu "36E2DDC8005A" compartment (object Compartment Parent_View @5 location (425, 1084) anchor 2 nlines 1 max_width 304) width 312 height 136 annotation 8 autoResize TRUE) (object ClassView "Class" "Wolf" @6 SuppressAttribute TRUE IncludeAttribute TRUE IncludeOperation TRUE ShowOperationSignature TRUE location (925, 1082) label (object ItemLabel Parent_View @6 location (756, 1028) nlines 1 max_width 338 justify 0 label "Wolf") quidu "36E2DDCD008C" compartment (object Compartment Parent_View @6 location (756, 1086) anchor 2 nlines 1 max_width 302) width 356 height 132 annotation 8 autoResize TRUE) (object ClassView "Class" "Duck" @7 SuppressAttribute TRUE IncludeAttribute TRUE IncludeOperation TRUE ShowOperationSignature TRUE location (1282, 1080) label (object ItemLabel Parent_View @7 location (1135, 1022) nlines 1 max_width 288 justify 0 label "Duck") quidu "36E2DDD40078" compartment (object Compartment Parent_View @7 location (1135, 1080) anchor 2 nlines 1 max_width 304) width 312 height 136 annotation 8 autoResize TRUE) (object InheritView "" @8 quidu "36E2DDF902E4" client @4 supplier @3 line_style 0) (object InheritView "" @9 quidu "36E2DDFC02F8" client @5 supplier @3 line_style 0) (object InheritView "" @10 quidu "36E2DE000294" client @6 supplier @3 line_style 0) (object InheritView "" @11 quidu "36E2DE050118" client @7 supplier @3 line_style 0) (object ClassView "Class" "StructuredAnimal" @12 SuppressAttribute TRUE IncludeAttribute TRUE IncludeOperation TRUE ShowOperationSignature TRUE location (911, 1471) label (object ItemLabel Parent_View @12 location (713, 1315) nlines 1 max_width 395 justify 0 label "StructuredAnimal") quidu "36E2DF080168" compartment (object Compartment Parent_View @12 location (706, 1373) anchor 2 nlines 5 max_width 416) width 428 height 336 annotation 8 autoResize TRUE) (object NoteView @13 location (332, 1476) label (object ItemLabel Parent_View @13 location (91, 1314) nlines 6 max_width 446 label |This may look and feel simpler but it takes more coding. | |Adding a new species requires major editting. ) width 506 height 337) (object AttachView "" @14 client @13 supplier @12 line_style 0) (object NoteView @15 location (1485, 828) label (object ItemLabel Parent_View @15 location (1295, 701) nlines 6 max_width 345 label "Add a new species here and link as a specialization of Animal. No need to change any existing class.") width 405 height 266) (object AttachView "" @16 client @3 supplier @15 line_style 0) (object ClassView "Class" "GreyWolf" @17 SuppressAttribute TRUE IncludeAttribute TRUE IncludeOperation TRUE ShowOperationSignature TRUE location (1288, 1304) label (object ItemLabel Parent_View @17 location (1181, 1255) nlines 1 max_width 214 justify 0 label "GreyWolf") quidu "38FB91191038" width 232 height 122 annotation 8 autoResize TRUE) (object InheritView "" @18 quidu "38FB9140B5E8" client @17 supplier @6 line_style 0) (object NoteView @19 location (1704, 1524) label (object ItemLabel Parent_View @19 location (1504, 1446) nlines 3 max_width 364 label "Inherits Wolf::makeNoise()") width 424 height 168) (object AttachView "" @20 client @17 supplier @19 line_style 0))))) root_subsystem (object SubSystem "Component View" quid "36E2DCB700AD" physical_models (list unit_reference_list) physical_presentations (list unit_reference_list (object Module_Diagram "Main" quid "36E2DCB700DC" title "Main" zoom 100 max_height 28350 max_width 21600 origin_x 0 origin_y 0 items (list diagram_item_list)))) process_structure (object Processes quid "36E2DCB700AE" ProcsNDevs (list (object Process_Diagram "Deployment View" quid "36E2DCB700DE" title "Deployment View" zoom 100 max_height 28350 max_width 21600 origin_x 0 origin_y 0 items (list diagram_item_list)))) properties (object Properties attributes (list Attribute_Set (object Attribute tool "cg" name "roseId" value "753117540") (object Attribute tool "cg" name "propertyId" value "809135966") (object Attribute tool "cg" name "default__Project" value (list Attribute_Set (object Attribute tool "cg" name "HeaderFileExtension" value "h") (object Attribute tool "cg" name "HeaderFileBackupExtension" value "h~") (object Attribute tool "cg" name "HeaderFileTemporaryExtension" value "h#") (object Attribute tool "cg" name "CodeFileExtension" value "cpp") (object Attribute tool "cg" name "CodeFileBackupExtension" value "cp~") (object Attribute tool "cg" name "CodeFileTemporaryExtension" value "cp#") (object Attribute tool "cg" name "CreateMissingDirectories" value TRUE) (object Attribute tool "cg" name "StopOnError" value FALSE) (object Attribute tool "cg" name "ErrorLimit" value 30) (object Attribute tool "cg" name "Directory" value "AUTO GENERATE") (object Attribute tool "cg" name "PathSeparator" value "") (object Attribute tool "cg" name "FileNameFormat" value "") (object Attribute tool "cg" name "BooleanType" value "int") (object Attribute tool "cg" name "AllowTemplates" value TRUE) (object Attribute tool "cg" name "AllowProtectedInheritance" value TRUE) (object Attribute tool "cg" name "OneByValueContainer" value "$targetClass") (object Attribute tool "cg" name "OneByReferenceContainer" value "$targetClass *") (object Attribute tool "cg" name "OptionalByValueContainer" value "OptionalByValue<$targetClass>") (object Attribute tool "cg" name "OptionalByReferenceContainer" value "$targetClass *") (object Attribute tool "cg" name "FixedByValueContainer" value "$targetClass[$limit]") (object Attribute tool "cg" name "UnorderedFixedByValueContainer" value "$targetClass[$limit]") (object Attribute tool "cg" name "FixedByReferenceContainer" value "$targetClass *[$limit]") (object Attribute tool "cg" name "UnorderedFixedByReferenceContainer" value "$targetClass *[$limit]") (object Attribute tool "cg" name "BoundedByValueContainer" value "BoundedListByValue<$targetClass,$limit>") (object Attribute tool "cg" name "UnorderedBoundedByValueContainer" value "BoundedSetByValue<$targetClass,$limit>") (object Attribute tool "cg" name "BoundedByReferenceContainer" value "BoundedListByReference<$targetClass,$limit>") (object Attribute tool "cg" name "UnorderedBoundedByReferenceContainer" value "BoundedSetByReference<$targetClass,$limit>") (object Attribute tool "cg" name "UnboundedByValueContainer" value "UnboundedListByValue<$targetClass>") (object Attribute tool "cg" name "UnorderedUnboundedByValueContainer" value "UnboundedSetByValue<$targetClass>") (object Attribute tool "cg" name "UnboundedByReferenceContainer" value "UnboundedListByReference<$targetClass>") (object Attribute tool "cg" name "UnorderedUnboundedByReferenceContainer" value "UnboundedSetByReference<$targetClass>") (object Attribute tool "cg" name "QualifiedByValueContainer" value "AssociationByValue<$qualtype, $qualcont>") (object Attribute tool "cg" name "UnorderedQualifiedByValueContainer" value "DictionaryByValue<$qualtype, $qualcont>") (object Attribute tool "cg" name "QualifiedByReferenceContainer" value "AssociationByReference<$qualtype, $qualcont>") (object Attribute tool "cg" name "UnorderedQualifiedByReferenceContainer" value "DictionaryByReference<$qualtype, $qualcont>") (object Attribute tool "cg" name "GeneratePreserveRegions" value TRUE))) (object Attribute tool "cg" name "compiler2.1__Project" value (list Attribute_Set (object Attribute tool "cg" name "HeaderFileExtension" value "h") (object Attribute tool "cg" name "HeaderFileBackupExtension" value "h~") (object Attribute tool "cg" name "HeaderFileTemporaryExtension" value "h#") (object Attribute tool "cg" name "CodeFileExtension" value "cpp") (object Attribute tool "cg" name "CodeFileBackupExtension" value "cp~") (object Attribute tool "cg" name "CodeFileTemporaryExtension" value "cp#") (object Attribute tool "cg" name "CreateMissingDirectories" value TRUE) (object Attribute tool "cg" name "StopOnError" value FALSE) (object Attribute tool "cg" name "ErrorLimit" value 30) (object Attribute tool "cg" name "Directory" value "AUTO GENERATE") (object Attribute tool "cg" name "BooleanType" value "int") (object Attribute tool "cg" name "AllowTemplates" value FALSE) (object Attribute tool "cg" name "AllowProtectedInheritance" value FALSE) (object Attribute tool "cg" name "OneByValueContainer" value "$targetClass") (object Attribute tool "cg" name "OneByReferenceContainer" value "$targetClass *") (object Attribute tool "cg" name "OptionalByValueContainer" value "OptionalByValue(sizeof($targetClass))") (object Attribute tool "cg" name "OptionalByReferenceContainer" value "$targetClass *") (object Attribute tool "cg" name "FixedByValueContainer" value "$targetClass[$limit]") (object Attribute tool "cg" name "UnorderedFixedByValueContainer" value "$targetClass[$limit]") (object Attribute tool "cg" name "FixedByReferenceContainer" value "$targetClass *[$limit]") (object Attribute tool "cg" name "UnorderedFixedByReferenceContainer" value "$targetClass *[$limit]") (object Attribute tool "cg" name "BoundedByValueContainer" value "BoundedListByValue(sizeof($targetClass),$limit)") (object Attribute tool "cg" name "UnorderedBoundedByValueContainer" value "BoundedSetByValue(sizeof($targetClass),$limit)") (object Attribute tool "cg" name "BoundedByReferenceContainer" value "BoundedListByReference($limit)") (object Attribute tool "cg" name "UnorderedBoundedByReferenceContainer" value "BoundedSetByReference($limit)") (object Attribute tool "cg" name "UnboundedByValueContainer" value "UnboundedListByValue(sizeof($targetClass))") (object Attribute tool "cg" name "UnorderedUnboundedByValueContainer" value "UnboundedSetByValue(sizeof($targetClass))") (object Attribute tool "cg" name "UnboundedByReferenceContainer" value "UnboundedListByReference") (object Attribute tool "cg" name "UnorderedUnboundedByReferenceContainer" value "UnboundedSetByReference") (object Attribute tool "cg" name "QualifiedByValueContainer" value "AssociationByValue(sizeof($qualtype), sizeof($qualcont)") (object Attribute tool "cg" name "UnorderedQualifiedByValueContainer" value "DictionaryByValue(sizeof($qualtype), sizeof($qualcont)") (object Attribute tool "cg" name "QualifiedByReferenceContainer" value "AssociationByReference(sizeof($qualtype), sizeof($qualcont)") (object Attribute tool "cg" name "UnorderedQualifiedByReferenceContainer" value "DictionaryByReference(sizeof($qualtype), sizeof($qualcont)") (object Attribute tool "cg" name "GeneratePreserveRegions" value TRUE))) (object Attribute tool "cg" name "compiler3.0__Project" value (list Attribute_Set (object Attribute tool "cg" name "HeaderFileExtension" value "h") (object Attribute tool "cg" name "HeaderFileBackupExtension" value "h~") (object Attribute tool "cg" name "HeaderFileTemporaryExtension" value "h#") (object Attribute tool "cg" name "CodeFileExtension" value "cpp") (object Attribute tool "cg" name "CodeFileBackupExtension" value "cp~") (object Attribute tool "cg" name "CodeFileTemporaryExtension" value "cp#") (object Attribute tool "cg" name "CreateMissingDirectories" value TRUE) (object Attribute tool "cg" name "StopOnError" value FALSE) (object Attribute tool "cg" name "ErrorLimit" value 30) (object Attribute tool "cg" name "Directory" value "AUTO GENERATE") (object Attribute tool "cg" name "BooleanType" value "int") (object Attribute tool "cg" name "AllowTemplates" value TRUE) (object Attribute tool "cg" name "AllowProtectedInheritance" value TRUE) (object Attribute tool "cg" name "OneByValueContainer" value "$targetClass") (object Attribute tool "cg" name "OneByReferenceContainer" value "$targetClass *") (object Attribute tool "cg" name "OptionalByValueContainer" value "OptionalByValue<$targetClass>") (object Attribute tool "cg" name "OptionalByReferenceContainer" value "$targetClass *") (object Attribute tool "cg" name "FixedByValueContainer" value "$targetClass[$limit]") (object Attribute tool "cg" name "UnorderedFixedByValueContainer" value "$targetClass[$limit]") (object Attribute tool "cg" name "FixedByReferenceContainer" value "$targetClass *[$limit]") (object Attribute tool "cg" name "UnorderedFixedByReferenceContainer" value "$targetClass *[$limit]") (object Attribute tool "cg" name "BoundedByValueContainer" value "BoundedListByValue<$targetClass,$limit>") (object Attribute tool "cg" name "UnorderedBoundedByValueContainer" value "BoundedSetByValue<$targetClass,$limit>") (object Attribute tool "cg" name "BoundedByReferenceContainer" value "BoundedListByReference<$targetClass,$limit>") (object Attribute tool "cg" name "UnorderedBoundedByReferenceContainer" value "BoundedSetByReference<$targetClass,$limit>") (object Attribute tool "cg" name "UnboundedByValueContainer" value "UnboundedListByValue<$targetClass>") (object Attribute tool "cg" name "UnorderedUnboundedByValueContainer" value "UnboundedSetByValue<$targetClass>") (object Attribute tool "cg" name "UnboundedByReferenceContainer" value "UnboundedListByReference<$targetClass>") (object Attribute tool "cg" name "UnorderedUnboundedByReferenceContainer" value "UnboundedSetByReference<$targetClass>") (object Attribute tool "cg" name "QualifiedByValueContainer" value "AssociationByValue<$qualtype, $qualcont>") (object Attribute tool "cg" name "UnorderedQualifiedByValueContainer" value "DictionaryByValue<$qualtype, $qualcont>") (object Attribute tool "cg" name "QualifiedByReferenceContainer" value "AssociationByReference<$qualtype, $qualcont>") (object Attribute tool "cg" name "UnorderedQualifiedByReferenceContainer" value "DictionaryByReference<$qualtype, $qualcont>") (object Attribute tool "cg" name "GeneratePreserveRegions" value TRUE))) (object Attribute tool "cg" name "default__Class" value (list Attribute_Set (object Attribute tool "cg" name "CodeName" value "") (object Attribute tool "cg" name "ImplementationType" value (value Text "")) (object Attribute tool "cg" name "GenerateDefaultConstructor" value ("GenerateSet" 199)) (object Attribute tool "cg" name "DefaultConstructorVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "InlineDefaultConstructor" value FALSE) (object Attribute tool "cg" name "GenerateCopyConstructor" value ("GenerateSet" 199)) (object Attribute tool "cg" name "CopyConstructorVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "InlineCopyConstructor" value FALSE) (object Attribute tool "cg" name "GenerateDestructor" value TRUE) (object Attribute tool "cg" name "DestructorVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "DestructorKind" value ("ThreeKindSet" 200)) (object Attribute tool "cg" name "InlineDestructor" value FALSE) (object Attribute tool "cg" name "GenerateAssignmentOperation" value ("GenerateSet" 199)) (object Attribute tool "cg" name "AssignmentVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "AssignmentKind" value ("ThreeKindSet" 200)) (object Attribute tool "cg" name "InlineAssignmentOperation" value FALSE) (object Attribute tool "cg" name "GenerateEqualityOperations" value ("GenerateSet" 199)) (object Attribute tool "cg" name "EqualityVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "EqualityKind" value ("FriendKindSet" 200)) (object Attribute tool "cg" name "InlineEqualityOperations" value FALSE) (object Attribute tool "cg" name "GenerateRelationalOperations" value FALSE) (object Attribute tool "cg" name "RelationalVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "RelationalKind" value ("FriendKindSet" 200)) (object Attribute tool "cg" name "InlineRelationalOperations" value FALSE) (object Attribute tool "cg" name "GenerateStorageMgmtOperations" value FALSE) (object Attribute tool "cg" name "StorageMgmtVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "InlineStorageMgmtOperations" value FALSE) (object Attribute tool "cg" name "GenerateSubscriptOperation" value FALSE) (object Attribute tool "cg" name "SubscriptVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "SubscriptKind" value ("ThreeKindSet" 200)) (object Attribute tool "cg" name "SubscriptResultType" value "") (object Attribute tool "cg" name "InlineSubscriptOperation" value FALSE) (object Attribute tool "cg" name "GenerateDereferenceOperation" value FALSE) (object Attribute tool "cg" name "DereferenceVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "DereferenceKind" value ("ThreeKindSet" 200)) (object Attribute tool "cg" name "DereferenceResultType" value "") (object Attribute tool "cg" name "InlineDereferenceOperation" value FALSE) (object Attribute tool "cg" name "GenerateIndirectionOperation" value FALSE) (object Attribute tool "cg" name "IndirectionVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "IndirectionKind" value ("ThreeKindSet" 200)) (object Attribute tool "cg" name "IndirectionResultType" value "") (object Attribute tool "cg" name "InlineIndirectionOperation" value FALSE) (object Attribute tool "cg" name "GenerateStreamOperations" value FALSE) (object Attribute tool "cg" name "StreamVisibility" value ("VisibilitySet" 45)) (object Attribute tool "cg" name "InlineStreamOperations" value FALSE) (object Attribute tool "cg" name "ThreeKindSet" value (list Attribute_Set (object Attribute tool "cg" name "Common" value 200) (object Attribute tool "cg" name "Virtual" value 201) (object Attribute tool "cg" name "Abstract" value 202))) (object Attribute tool "cg" name "KindSet" value (list Attribute_Set (object Attribute tool "cg" name "Common" value 200) (object Attribute tool "cg" name "Virtual" value 201) (object Attribute tool "cg" name "Abstract" value 202) (object Attribute tool "cg" name "Static" value 203))) (object Attribute tool "cg" name "FriendKindSet" value (list Attribute_Set (object Attribute tool "cg" name "Common" value 200) (object Attribute tool "cg" name "Virtual" value 201) (object Attribute tool "cg" name "Abstract" value 202) (object Attribute tool "cg" name "Friend" value 204))) (object Attribute tool "cg" name "GenerateSet" value (list Attribute_Set (object Attribute tool "cg" name "DeclareAndDefine" value 199) (object Attribute tool "cg" name "DeclareOnly" value 205) (object Attribute tool "cg" name "DoNotDeclare" value 206))) (object Attribute tool "cg" name "VisibilitySet" value (list Attribute_Set (object Attribute tool "cg" name "Public" value 45) (object Attribute tool "cg" name "Protected" value 44) (object Attribute tool "cg" name "Private" value 43) (object Attribute tool "cg" name "Implementation" value 14))) (object Attribute tool "cg" name "ConstValue" value "") (object Attribute tool "cg" name "GenerateDefaultSpecifier" value FALSE) (object Attribute tool "cg" name "DefaultSpecifier" value "") (object Attribute tool "cg" name "IDLElement" value TRUE) (object Attribute tool "cg" name "IDLSpecificationType" value ("IDLSpecSet" 22)) (object Attribute tool "cg" name "IDLSpecSet" value (list Attribute_Set (object Attribute tool "cg" name "Interface" value 22) (object Attribute tool "cg" name "Typedef" value 54) (object Attribute tool "cg" name "Enumeration" value 8) (object Attribute tool "cg" name "Const" value 71) (object Attribute tool "cg" name "Exception" value 61) (object Attribute tool "cg" name "Struct" value 51) (object Attribute tool "cg" name "Union" value 81))))) (object Attribute tool "cg" name "default__Module-Spec" value (list Attribute_Set (object Attribute tool "cg" name "Generate" value TRUE) (object Attribute tool "cg" name "CmIdentification" value (value Text " %X% %Q% %Z% %W%")) (object Attribute tool "cg" name "CopyrightNotice" value (value Text "")) (object Attribute tool "cg" name "FileName" value "AUTO GENERATE") (object Attribute tool "cg" name "InclusionProtectionSymbol" value "AUTO GENERATE") (object Attribute tool "cg" name "AdditionalIncludes" value (value Text "")) (object Attribute tool "cg" name "IncludeBySimpleName" value FALSE) (object Attribute tool "cg" name "InliningStyle" value ("InliningStyleSet" 207)) (object Attribute tool "cg" name "InliningStyleSet" value (list Attribute_Set (object Attribute tool "cg" name "InClassDeclaration" value 208) (object Attribute tool "cg" name "FollowingClassDeclaration" value 207))) (object Attribute tool "cg" name "GenerateIDLModule" value FALSE))) (object Attribute tool "cg" name "default__Module-Body" value (list Attribute_Set (object Attribute tool "cg" name "Generate" value TRUE) (object Attribute tool "cg" name "CmIdentification" value (value Text " %X% %Q% %Z% %W%")) (object Attribute tool "cg" name "CopyrightNotice" value (value Text "")) (object Attribute tool "cg" name "FileName" value "AUTO GENERATE") (object Attribute tool "cg" name "AdditionalIncludes" value (value Text "")) (object Attribute tool "cg" name "IncludeBySimpleName" value FALSE) (object Attribute tool "cg" name "InliningStyle" value ("InliningStyleSet" 207)) (object Attribute tool "cg" name "InliningStyleSet" value (list Attribute_Set (object Attribute tool "cg" name "InClassDeclaration" value 208) (object Attribute tool "cg" name "FollowingClassDeclaration" value 207))))) (object Attribute tool "cg" name "default__Operation" value (list Attribute_Set (object Attribute tool "cg" name "CodeName" value "") (object Attribute tool "cg" name "OperationKind" value ("OperationKindSet" 200)) (object Attribute tool "cg" name "OperationKindSet" value (list Attribute_Set (object Attribute tool "cg" name "Common" value 200) (object Attribute tool "cg" name "Virtual" value 201) (object Attribute tool "cg" name "Abstract" value 202) (object Attribute tool "cg" name "Static" value 203) (object Attribute tool "cg" name "Friend" value 204))) (object Attribute tool "cg" name "OperationIsConst" value FALSE) (object Attribute tool "cg" name "EntryCode" value (value Text "")) (object Attribute tool "cg" name "ExitCode" value (value Text "")) (object Attribute tool "cg" name "Inline" value FALSE) (object Attribute tool "cg" name "OperationIsOneWay" value FALSE) (object Attribute tool "cg" name "Context" value "") (object Attribute tool "cg" name "Raises" value ""))) (object Attribute tool "cg" name "default__Has" value (list Attribute_Set (object Attribute tool "cg" name "CodeName" value "") (object Attribute tool "cg" name "Ordered" value TRUE) (object Attribute tool "cg" name "NameIfUnlabeled" value "the_$supplier") (object Attribute tool "cg" name "GenerateDataMember" value TRUE) (object Attribute tool "cg" name "DataMemberName" value "$relationship") (object Attribute tool "cg" name "DataMemberVisibility" value ("DataMemberVisibilitySet" 14)) (object Attribute tool "cg" name "DataMemberVisibilitySet" value (list Attribute_Set (object Attribute tool "cg" name "Public" value 45) (object Attribute tool "cg" name "Protected" value 44) (object Attribute tool "cg" name "Private" value 43) (object Attribute tool "cg" name "Implementation" value 14) (object Attribute tool "cg" name "AtRelationshipVisibility" value 210))) (object Attribute tool "cg" name "GenerateGetOperation" value TRUE) (object Attribute tool "cg" name "GenerateSetOperation" value TRUE) (object Attribute tool "cg" name "GetName" value "get_$relationship") (object Attribute tool "cg" name "SetName" value "set_$relationship") (object Attribute tool "cg" name "GetSetKinds" value ("GetSetKindsSet" 200)) (object Attribute tool "cg" name "GetSetKindsSet" value (list Attribute_Set (object Attribute tool "cg" name "Common" value 200) (object Attribute tool "cg" name "Virtual" value 201) (object Attribute tool "cg" name "Abstract" value 202) (object Attribute tool "cg" name "Static" value 203) (object Attribute tool "cg" name "Friend" value 204))) (object Attribute tool "cg" name "ContainerClass" value "") (object Attribute tool "cg" name "SelectorName" value "") (object Attribute tool "cg" name "SelectorType" value "") (object Attribute tool "cg" name "GetIsConst" value TRUE) (object Attribute tool "cg" name "GetSetByReference" value FALSE) (object Attribute tool "cg" name "InlineGet" value TRUE) (object Attribute tool "cg" name "SetReturnsValue" value FALSE) (object Attribute tool "cg" name "InlineSet" value TRUE) (object Attribute tool "cg" name "ForwardReferenceOnly" value FALSE) (object Attribute tool "cg" name "GenerateForwardReference" value FALSE) (object Attribute tool "cg" name "IsReadOnly" value FALSE) (object Attribute tool "cg" name "BoundedHasRelType" value ("HasRelTypeSet" 47)) (object Attribute tool "cg" name "HasRelTypeSet" value (list Attribute_Set (object Attribute tool "cg" name "Array" value 24) (object Attribute tool "cg" name "Sequence" value 47))))) (object Attribute tool "cg" name "default__Association" value (list Attribute_Set (object Attribute tool "cg" name "NameIfUnlabeled" value "the_$targetClass"))) (object Attribute tool "cg" name "default__Role" value (list Attribute_Set (object Attribute tool "cg" name "CodeName" value "") (object Attribute tool "cg" name "ForwardReferenceOnly" value FALSE) (object Attribute tool "cg" name "NameIfUnlabeled" value "the_$targetClass") (object Attribute tool "cg" name "GenerateDataMember" value TRUE) (object Attribute tool "cg" name "DataMemberName" value "$target") (object Attribute tool "cg" name "DataMemberVisibility" value ("DataMemberVisibilitySet" 14)) (object Attribute tool "cg" name "DataMemberVisibilitySet" value (list Attribute_Set (object Attribute tool "cg" name "Public" value 45) (object Attribute tool "cg" name "Protected" value 44) (object Attribute tool "cg" name "Private" value 43) (object Attribute tool "cg" name "Implementation" value 14) (object Attribute tool "cg" name "AtRelationshipVisibility" value 210))) (object Attribute tool "cg" name "ContainerClass" value "") (object Attribute tool "cg" name "QualifiedContainer" value "") (object Attribute tool "cg" name "AssocClassContainer" value "$supplier *") (object Attribute tool "cg" name "GetSetKinds" value ("GetSetKindsSet" 200)) (object Attribute tool "cg" name "GetSetKindsSet" value (list Attribute_Set (object Attribute tool "cg" name "Common" value 200) (object Attribute tool "cg" name "Virtual" value 201) (object Attribute tool "cg" name "Abstract" value 202) (object Attribute tool "cg" name "Static" value 203) (object Attribute tool "cg" name "Friend" value 204))) (object Attribute tool "cg" name "GetSetByReference" value FALSE) (object Attribute tool "cg" name "GenerateGetOperation" value TRUE) (object Attribute tool "cg" name "GetName" value "get_$target") (object Attribute tool "cg" name "GetIsConst" value TRUE) (object Attribute tool "cg" name "InlineGet" value TRUE) (object Attribute tool "cg" name "GenerateSetOperation" value TRUE) (object Attribute tool "cg" name "SetName" value "set_$target") (object Attribute tool "cg" name "SetReturnsValue" value FALSE) (object Attribute tool "cg" name "InlineSet" value TRUE) (object Attribute tool "cg" name "GenerateQualifiedGetOperation" value TRUE) (object Attribute tool "cg" name "QualifiedGetName" value "get_$target") (object Attribute tool "cg" name "QualifiedGetIsConst" value TRUE) (object Attribute tool "cg" name "InlineQualifiedGet" value TRUE) (object Attribute tool "cg" name "GenerateQualifiedSetOperation" value TRUE) (object Attribute tool "cg" name "QualifiedSetName" value "set_$target") (object Attribute tool "cg" name "QualifiedSetReturnsValue" value FALSE) (object Attribute tool "cg" name "InlineQualifiedSet" value TRUE) (object Attribute tool "cg" name "GenerateAssocClassDataMember" value TRUE) (object Attribute tool "cg" name "AssocClassDataMemberName" value "$target") (object Attribute tool "cg" name "AssocClassDataMemberVisibility" value ("DataMemberVisibilitySet" 14)) (object Attribute tool "cg" name "DataMemberVisibilitySet" value (list Attribute_Set (object Attribute tool "cg" name "Public" value 45) (object Attribute tool "cg" name "Protected" value 44) (object Attribute tool "cg" name "Private" value 43) (object Attribute tool "cg" name "Implementation" value 14) (object Attribute tool "cg" name "AtRelationshipVisibility" value 210))) (object Attribute tool "cg" name "AssocClassGetSetKinds" value ("GetSetKindsSet" 200)) (object Attribute tool "cg" name "GenerateAssocClassGetOperation" value TRUE) (object Attribute tool "cg" name "AssocClassGetName" value "get_$target") (object Attribute tool "cg" name "AssocClassGetIsConst" value TRUE) (object Attribute tool "cg" name "InlineAssocClassGet" value TRUE) (object Attribute tool "cg" name "GenerateAssocClassSetOperation" value TRUE) (object Attribute tool "cg" name "AssocClassSetName" value "set_$target") (object Attribute tool "cg" name "AssocClassSetReturnsValue" value FALSE) (object Attribute tool "cg" name "InlineAssocClassSet" value TRUE) (object Attribute tool "cg" name "AssocClassForwardReferenceOnly" value TRUE) (object Attribute tool "cg" name "GenerateForwardReference" value FALSE) (object Attribute tool "cg" name "IsReadOnly" value FALSE) (object Attribute tool "cg" name "BoundedRoleType" value ("AssocTypeSet" 47)) (object Attribute tool "cg" name "AssocTypeSet" value (list Attribute_Set (object Attribute tool "cg" name "Array" value 24) (object Attribute tool "cg" name "Sequence" value 47))))) (object Attribute tool "cg" name "default__Attribute" value (list Attribute_Set (object Attribute tool "cg" name "CodeName" value "") (object Attribute tool "cg" name "GenerateDataMember" value TRUE) (object Attribute tool "cg" name "DataMemberName" value "$attribute") (object Attribute tool "cg" name "DataMemberVisibility" value ("DataMemberVisibilitySet" 14)) (object Attribute tool "cg" name "DataMemberVisibilitySet" value (list Attribute_Set (object Attribute tool "cg" name "Public" value 45) (object Attribute tool "cg" name "Protected" value 44) (object Attribute tool "cg" name "Private" value 43) (object Attribute tool "cg" name "Implementation" value 14) (object Attribute tool "cg" name "AtAttributeVisibility" value 211))) (object Attribute tool "cg" name "GenerateGetOperation" value TRUE) (object Attribute tool "cg" name "GenerateSetOperation" value TRUE) (object Attribute tool "cg" name "GetName" value "get_$attribute") (object Attribute tool "cg" name "SetName" value "set_$attribute") (object Attribute tool "cg" name "GetSetKinds" value ("GetSetKindsSet" 200)) (object Attribute tool "cg" name "GetSetKindsSet" value (list Attribute_Set (object Attribute tool "cg" name "Common" value 200) (object Attribute tool "cg" name "Virtual" value 201) (object Attribute tool "cg" name "Abstract" value 202) (object Attribute tool "cg" name "Static" value 203) (object Attribute tool "cg" name "Friend" value 204))) (object Attribute tool "cg" name "GetIsConst" value TRUE) (object Attribute tool "cg" name "GetSetByReference" value FALSE) (object Attribute tool "cg" name "InlineGet" value TRUE) (object Attribute tool "cg" name "SetReturnsValue" value FALSE) (object Attribute tool "cg" name "InlineSet" value TRUE) (object Attribute tool "cg" name "CaseSpecifier" value "") (object Attribute tool "cg" name "IsReadOnly" value FALSE))) (object Attribute tool "cg" name "default__Uses" value (list Attribute_Set (object Attribute tool "cg" name "ForwardReferenceOnly" value FALSE) (object Attribute tool "cg" name "GenerateForwardReference" value FALSE))) (object Attribute tool "cg" name "default__Subsystem" value (list Attribute_Set (object Attribute tool "cg" name "Directory" value "AUTO GENERATE"))) (object Attribute tool "DDL" name "propertyId" value "809135966") (object Attribute tool "DDL" name "default__Project" value (list Attribute_Set (object Attribute tool "DDL" name "DataBase" value ("DataBaseSet" 800)) (object Attribute tool "DDL" name "DataBaseSet" value (list Attribute_Set (object Attribute tool "DDL" name "ANSI" value 800) (object Attribute tool "DDL" name "Oracle" value 801) (object Attribute tool "DDL" name "SQLServer" value 802) (object Attribute tool "DDL" name "Sybase" value 803) (object Attribute tool "DDL" name "Watcom" value 804))) (object Attribute tool "DDL" name "PrimaryKeyColumnName" value "Id") (object Attribute tool "DDL" name "PrimaryKeyColumnType" value "NUMBER(5)") (object Attribute tool "DDL" name "ViewName" value "V_") (object Attribute tool "DDL" name "TableName" value "T_") (object Attribute tool "DDL" name "InheritSuffix" value "_V") (object Attribute tool "DDL" name "DropClause" value FALSE) (object Attribute tool "DDL" name "BaseViews" value FALSE) (object Attribute tool "DDL" name "DDLScriptFilename" value "DDL1.SQL"))) (object Attribute tool "DDL" name "default__Attribute" value (list Attribute_Set (object Attribute tool "DDL" name "ColumnType" value "VARCHAR") (object Attribute tool "DDL" name "Length" value "") (object Attribute tool "DDL" name "NullsOK" value TRUE) (object Attribute tool "DDL" name "PrimaryKey" value FALSE) (object Attribute tool "DDL" name "Unique" value FALSE) (object Attribute tool "DDL" name "CompositeUnique" value FALSE) (object Attribute tool "DDL" name "CheckConstraint" value ""))) (object Attribute tool "cg" name "default__Category" value (list Attribute_Set (object Attribute tool "cg" name "GenerateIDLModule" value TRUE) (object Attribute tool "cg" name "ModuleName" value (value Text ""))))) quid "36E2DCB700AF"))