Line data Source code
1 : /* File: data_relationship_type.c; Copyright and License: see below */
2 :
3 : #include "entity/data_relationship_type.h"
4 : #include <stddef.h>
5 : #include <assert.h>
6 :
7 : const data_relationship_type_t DATA_RELATIONSHIP_TYPE_ARRAY [DATA_RELATIONSHIP_TYPE_COUNT]
8 : = {
9 : DATA_RELATIONSHIP_TYPE_UML_DEPENDENCY,
10 : DATA_RELATIONSHIP_TYPE_UML_ASSOCIATION,
11 : DATA_RELATIONSHIP_TYPE_UML_AGGREGATION,
12 : DATA_RELATIONSHIP_TYPE_UML_COMPOSITION,
13 : DATA_RELATIONSHIP_TYPE_UML_GENERALIZATION,
14 : DATA_RELATIONSHIP_TYPE_UML_REALIZATION,
15 : DATA_RELATIONSHIP_TYPE_UML_ASYNC_CALL,
16 : DATA_RELATIONSHIP_TYPE_UML_SYNC_CALL,
17 : DATA_RELATIONSHIP_TYPE_UML_RETURN_CALL,
18 : DATA_RELATIONSHIP_TYPE_UML_COMMUNICATION_PATH,
19 : DATA_RELATIONSHIP_TYPE_UML_CONTROL_FLOW,
20 : DATA_RELATIONSHIP_TYPE_UML_OBJECT_FLOW,
21 : DATA_RELATIONSHIP_TYPE_UML_DEPLOY,
22 : DATA_RELATIONSHIP_TYPE_UML_MANIFEST,
23 : DATA_RELATIONSHIP_TYPE_UML_EXTEND,
24 : DATA_RELATIONSHIP_TYPE_UML_INCLUDE,
25 : DATA_RELATIONSHIP_TYPE_UML_CONTAINMENT,
26 : DATA_RELATIONSHIP_TYPE_UML_REFINE,
27 : DATA_RELATIONSHIP_TYPE_UML_TRACE
28 : };
29 :
30 : static const char *const DATA_RELATIONSHIP_TYPE_NAME_ARRAY [DATA_RELATIONSHIP_TYPE_HASH_MOD]
31 : = {
32 : /* 0x0 is DATA_RELATIONSHIP_TYPE_UML_DEPENDENCY */
33 : [ DATA_RELATIONSHIP_TYPE_UML_DEPENDENCY % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Dependency",
34 : /* 0x1b .. 0x1f */
35 : [0x1b] = "",
36 : [ DATA_RELATIONSHIP_TYPE_UML_ASSOCIATION % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Association",
37 : [ DATA_RELATIONSHIP_TYPE_UML_AGGREGATION % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Aggregation",
38 : [ DATA_RELATIONSHIP_TYPE_UML_COMPOSITION % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Composition",
39 : [0x1f] = "",
40 : /* 0x26 .. 0x29 */
41 : [ DATA_RELATIONSHIP_TYPE_UML_GENERALIZATION % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Generalization",
42 : [ DATA_RELATIONSHIP_TYPE_UML_REALIZATION % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Realization",
43 : [0x28] = "",
44 : [0x29] = "",
45 : /* 0x04 .. 0x0c */
46 : [0x4] = "",
47 : [ DATA_RELATIONSHIP_TYPE_UML_ASYNC_CALL % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Asynchronous Call",
48 : [ DATA_RELATIONSHIP_TYPE_UML_SYNC_CALL % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Synchronous Call",
49 : [ DATA_RELATIONSHIP_TYPE_UML_RETURN_CALL % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Return",
50 : [0x8] = "",
51 : [0x9] = "",
52 : [0xa] = "",
53 : [0xb] = "",
54 : [0xc] = "",
55 : /* 0x18 .. 0x1a */
56 : [0x18] = "",
57 : [ DATA_RELATIONSHIP_TYPE_UML_CONTROL_FLOW % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Control Flow",
58 : [ DATA_RELATIONSHIP_TYPE_UML_OBJECT_FLOW % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Object Flow",
59 : /* 0x20 .. 0x25 */
60 : [0x20] = "",
61 : [0x21] = "",
62 : [0x22] = "",
63 : [ DATA_RELATIONSHIP_TYPE_UML_DEPLOY % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Deployment",
64 : [ DATA_RELATIONSHIP_TYPE_UML_MANIFEST % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Manifestation",
65 : [0x25] = "",
66 : /* 0x01 .. 0x03 */
67 : [0x1] = "",
68 : [ DATA_RELATIONSHIP_TYPE_UML_EXTEND % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Extension",
69 : [ DATA_RELATIONSHIP_TYPE_UML_INCLUDE % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Inclusion",
70 : /* 0x2a is DATA_RELATIONSHIP_TYPE_UML_CONTAINMENT */
71 : [ DATA_RELATIONSHIP_TYPE_UML_CONTAINMENT % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Containment",
72 : /* 0x0d .. 0x17 */
73 : [ DATA_RELATIONSHIP_TYPE_UML_REFINE % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Refinement",
74 : [ DATA_RELATIONSHIP_TYPE_UML_TRACE % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Trace",
75 : [ DATA_RELATIONSHIP_TYPE_UML_COMMUNICATION_PATH % DATA_RELATIONSHIP_TYPE_HASH_MOD ] = "Communication Path",
76 : [0x10] = "",
77 : [0x11] = "",
78 : [0x12] = "",
79 : [0x13] = "",
80 : [0x14] = "",
81 : [0x15] = "",
82 : [0x16] = "",
83 : [0x17] = "",
84 : };
85 :
86 473 : const char * data_relationship_type_get_name( data_relationship_type_t this_ )
87 : {
88 0 : const char * result
89 473 : = ( this_ == DATA_RELATIONSHIP_TYPE_VOID ) ? "" : DATA_RELATIONSHIP_TYPE_NAME_ARRAY[ this_ % DATA_RELATIONSHIP_TYPE_HASH_MOD ];
90 473 : assert( result != NULL );
91 473 : return ( result == NULL ) ? "" : result;
92 : }
93 :
94 :
95 : /*
96 : Copyright 2021-2025 Andreas Warnke
97 :
98 : Licensed under the Apache License, Version 2.0 (the "License");
99 : you may not use this file except in compliance with the License.
100 : You may obtain a copy of the License at
101 :
102 : http://www.apache.org/licenses/LICENSE-2.0
103 :
104 : Unless required by applicable law or agreed to in writing, software
105 : distributed under the License is distributed on an "AS IS" BASIS,
106 : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
107 : See the License for the specific language governing permissions and
108 : limitations under the License.
109 : */
|