1------------------------------------------------------------------------------ 2-- -- 3-- Matreshka Project -- 4-- -- 5-- Ada Modeling Framework -- 6-- -- 7-- Runtime Library Component -- 8-- -- 9------------------------------------------------------------------------------ 10-- -- 11-- Copyright © 2011-2012, Vadim Godunko <vgodunko@gmail.com> -- 12-- All rights reserved. -- 13-- -- 14-- Redistribution and use in source and binary forms, with or without -- 15-- modification, are permitted provided that the following conditions -- 16-- are met: -- 17-- -- 18-- * Redistributions of source code must retain the above copyright -- 19-- notice, this list of conditions and the following disclaimer. -- 20-- -- 21-- * Redistributions in binary form must reproduce the above copyright -- 22-- notice, this list of conditions and the following disclaimer in the -- 23-- documentation and/or other materials provided with the distribution. -- 24-- -- 25-- * Neither the name of the Vadim Godunko, IE nor the names of its -- 26-- contributors may be used to endorse or promote products derived from -- 27-- this software without specific prior written permission. -- 28-- -- 29-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -- 30-- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -- 31-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -- 32-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -- 33-- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -- 34-- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -- 35-- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -- 36-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -- 37-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -- 38-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -- 39-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- 40-- -- 41------------------------------------------------------------------------------ 42-- $Revision: 2802 $ $Date: 2012-04-06 21:45:28 +0400 (Fri, 06 Apr 2012) $ 43------------------------------------------------------------------------------ 44-- This file is generated, don't edit it. 45------------------------------------------------------------------------------ 46with AMF.UML.Holders.Aggregation_Kinds; 47with AMF.UML.Holders.Call_Concurrency_Kinds; 48with AMF.UML.Holders.Connector_Kinds; 49with AMF.UML.Holders.Expansion_Kinds; 50with AMF.UML.Holders.Interaction_Operator_Kinds; 51with AMF.UML.Holders.Message_Kinds; 52with AMF.UML.Holders.Message_Sorts; 53with AMF.UML.Holders.Object_Node_Ordering_Kinds; 54with AMF.UML.Holders.Parameter_Direction_Kinds; 55with AMF.UML.Holders.Parameter_Effect_Kinds; 56with AMF.UML.Holders.Pseudostate_Kinds; 57with AMF.UML.Holders.Transition_Kinds; 58with AMF.UML.Holders.Visibility_Kinds; 59 60package body AMF.UML.Holders is 61 62 ------------- 63 -- Element -- 64 ------------- 65 66 function Element 67 (Holder : League.Holders.Holder) 68 return AMF.UML.Optional_UML_Aggregation_Kind is 69 begin 70 if not League.Holders.Has_Tag 71 (Holder, AMF.UML.Holders.Aggregation_Kinds.Value_Tag) 72 then 73 raise Constraint_Error; 74 end if; 75 76 if League.Holders.Is_Empty (Holder) then 77 return (Is_Empty => True); 78 79 else 80 return (False, AMF.UML.Holders.Aggregation_Kinds.Element (Holder)); 81 end if; 82 end Element; 83 84 ------------- 85 -- Element -- 86 ------------- 87 88 function Element 89 (Holder : League.Holders.Holder) 90 return AMF.UML.Optional_UML_Call_Concurrency_Kind is 91 begin 92 if not League.Holders.Has_Tag 93 (Holder, AMF.UML.Holders.Call_Concurrency_Kinds.Value_Tag) 94 then 95 raise Constraint_Error; 96 end if; 97 98 if League.Holders.Is_Empty (Holder) then 99 return (Is_Empty => True); 100 101 else 102 return (False, AMF.UML.Holders.Call_Concurrency_Kinds.Element (Holder)); 103 end if; 104 end Element; 105 106 ------------- 107 -- Element -- 108 ------------- 109 110 function Element 111 (Holder : League.Holders.Holder) 112 return AMF.UML.Optional_UML_Connector_Kind is 113 begin 114 if not League.Holders.Has_Tag 115 (Holder, AMF.UML.Holders.Connector_Kinds.Value_Tag) 116 then 117 raise Constraint_Error; 118 end if; 119 120 if League.Holders.Is_Empty (Holder) then 121 return (Is_Empty => True); 122 123 else 124 return (False, AMF.UML.Holders.Connector_Kinds.Element (Holder)); 125 end if; 126 end Element; 127 128 ------------- 129 -- Element -- 130 ------------- 131 132 function Element 133 (Holder : League.Holders.Holder) 134 return AMF.UML.Optional_UML_Expansion_Kind is 135 begin 136 if not League.Holders.Has_Tag 137 (Holder, AMF.UML.Holders.Expansion_Kinds.Value_Tag) 138 then 139 raise Constraint_Error; 140 end if; 141 142 if League.Holders.Is_Empty (Holder) then 143 return (Is_Empty => True); 144 145 else 146 return (False, AMF.UML.Holders.Expansion_Kinds.Element (Holder)); 147 end if; 148 end Element; 149 150 ------------- 151 -- Element -- 152 ------------- 153 154 function Element 155 (Holder : League.Holders.Holder) 156 return AMF.UML.Optional_UML_Interaction_Operator_Kind is 157 begin 158 if not League.Holders.Has_Tag 159 (Holder, AMF.UML.Holders.Interaction_Operator_Kinds.Value_Tag) 160 then 161 raise Constraint_Error; 162 end if; 163 164 if League.Holders.Is_Empty (Holder) then 165 return (Is_Empty => True); 166 167 else 168 return (False, AMF.UML.Holders.Interaction_Operator_Kinds.Element (Holder)); 169 end if; 170 end Element; 171 172 ------------- 173 -- Element -- 174 ------------- 175 176 function Element 177 (Holder : League.Holders.Holder) 178 return AMF.UML.Optional_UML_Message_Kind is 179 begin 180 if not League.Holders.Has_Tag 181 (Holder, AMF.UML.Holders.Message_Kinds.Value_Tag) 182 then 183 raise Constraint_Error; 184 end if; 185 186 if League.Holders.Is_Empty (Holder) then 187 return (Is_Empty => True); 188 189 else 190 return (False, AMF.UML.Holders.Message_Kinds.Element (Holder)); 191 end if; 192 end Element; 193 194 ------------- 195 -- Element -- 196 ------------- 197 198 function Element 199 (Holder : League.Holders.Holder) 200 return AMF.UML.Optional_UML_Message_Sort is 201 begin 202 if not League.Holders.Has_Tag 203 (Holder, AMF.UML.Holders.Message_Sorts.Value_Tag) 204 then 205 raise Constraint_Error; 206 end if; 207 208 if League.Holders.Is_Empty (Holder) then 209 return (Is_Empty => True); 210 211 else 212 return (False, AMF.UML.Holders.Message_Sorts.Element (Holder)); 213 end if; 214 end Element; 215 216 ------------- 217 -- Element -- 218 ------------- 219 220 function Element 221 (Holder : League.Holders.Holder) 222 return AMF.UML.Optional_UML_Object_Node_Ordering_Kind is 223 begin 224 if not League.Holders.Has_Tag 225 (Holder, AMF.UML.Holders.Object_Node_Ordering_Kinds.Value_Tag) 226 then 227 raise Constraint_Error; 228 end if; 229 230 if League.Holders.Is_Empty (Holder) then 231 return (Is_Empty => True); 232 233 else 234 return (False, AMF.UML.Holders.Object_Node_Ordering_Kinds.Element (Holder)); 235 end if; 236 end Element; 237 238 ------------- 239 -- Element -- 240 ------------- 241 242 function Element 243 (Holder : League.Holders.Holder) 244 return AMF.UML.Optional_UML_Parameter_Direction_Kind is 245 begin 246 if not League.Holders.Has_Tag 247 (Holder, AMF.UML.Holders.Parameter_Direction_Kinds.Value_Tag) 248 then 249 raise Constraint_Error; 250 end if; 251 252 if League.Holders.Is_Empty (Holder) then 253 return (Is_Empty => True); 254 255 else 256 return (False, AMF.UML.Holders.Parameter_Direction_Kinds.Element (Holder)); 257 end if; 258 end Element; 259 260 ------------- 261 -- Element -- 262 ------------- 263 264 function Element 265 (Holder : League.Holders.Holder) 266 return AMF.UML.Optional_UML_Parameter_Effect_Kind is 267 begin 268 if not League.Holders.Has_Tag 269 (Holder, AMF.UML.Holders.Parameter_Effect_Kinds.Value_Tag) 270 then 271 raise Constraint_Error; 272 end if; 273 274 if League.Holders.Is_Empty (Holder) then 275 return (Is_Empty => True); 276 277 else 278 return (False, AMF.UML.Holders.Parameter_Effect_Kinds.Element (Holder)); 279 end if; 280 end Element; 281 282 ------------- 283 -- Element -- 284 ------------- 285 286 function Element 287 (Holder : League.Holders.Holder) 288 return AMF.UML.Optional_UML_Pseudostate_Kind is 289 begin 290 if not League.Holders.Has_Tag 291 (Holder, AMF.UML.Holders.Pseudostate_Kinds.Value_Tag) 292 then 293 raise Constraint_Error; 294 end if; 295 296 if League.Holders.Is_Empty (Holder) then 297 return (Is_Empty => True); 298 299 else 300 return (False, AMF.UML.Holders.Pseudostate_Kinds.Element (Holder)); 301 end if; 302 end Element; 303 304 ------------- 305 -- Element -- 306 ------------- 307 308 function Element 309 (Holder : League.Holders.Holder) 310 return AMF.UML.Optional_UML_Transition_Kind is 311 begin 312 if not League.Holders.Has_Tag 313 (Holder, AMF.UML.Holders.Transition_Kinds.Value_Tag) 314 then 315 raise Constraint_Error; 316 end if; 317 318 if League.Holders.Is_Empty (Holder) then 319 return (Is_Empty => True); 320 321 else 322 return (False, AMF.UML.Holders.Transition_Kinds.Element (Holder)); 323 end if; 324 end Element; 325 326 ------------- 327 -- Element -- 328 ------------- 329 330 function Element 331 (Holder : League.Holders.Holder) 332 return AMF.UML.Optional_UML_Visibility_Kind is 333 begin 334 if not League.Holders.Has_Tag 335 (Holder, AMF.UML.Holders.Visibility_Kinds.Value_Tag) 336 then 337 raise Constraint_Error; 338 end if; 339 340 if League.Holders.Is_Empty (Holder) then 341 return (Is_Empty => True); 342 343 else 344 return (False, AMF.UML.Holders.Visibility_Kinds.Element (Holder)); 345 end if; 346 end Element; 347 348 --------------- 349 -- To_Holder -- 350 --------------- 351 352 function To_Holder 353 (Element : AMF.UML.Optional_UML_Aggregation_Kind) 354 return League.Holders.Holder is 355 begin 356 return Result : League.Holders.Holder do 357 League.Holders.Set_Tag 358 (Result, AMF.UML.Holders.Aggregation_Kinds.Value_Tag); 359 360 if not Element.Is_Empty then 361 AMF.UML.Holders.Aggregation_Kinds.Replace_Element 362 (Result, Element.Value); 363 end if; 364 end return; 365 end To_Holder; 366 367 --------------- 368 -- To_Holder -- 369 --------------- 370 371 function To_Holder 372 (Element : AMF.UML.Optional_UML_Call_Concurrency_Kind) 373 return League.Holders.Holder is 374 begin 375 return Result : League.Holders.Holder do 376 League.Holders.Set_Tag 377 (Result, AMF.UML.Holders.Call_Concurrency_Kinds.Value_Tag); 378 379 if not Element.Is_Empty then 380 AMF.UML.Holders.Call_Concurrency_Kinds.Replace_Element 381 (Result, Element.Value); 382 end if; 383 end return; 384 end To_Holder; 385 386 --------------- 387 -- To_Holder -- 388 --------------- 389 390 function To_Holder 391 (Element : AMF.UML.Optional_UML_Connector_Kind) 392 return League.Holders.Holder is 393 begin 394 return Result : League.Holders.Holder do 395 League.Holders.Set_Tag 396 (Result, AMF.UML.Holders.Connector_Kinds.Value_Tag); 397 398 if not Element.Is_Empty then 399 AMF.UML.Holders.Connector_Kinds.Replace_Element 400 (Result, Element.Value); 401 end if; 402 end return; 403 end To_Holder; 404 405 --------------- 406 -- To_Holder -- 407 --------------- 408 409 function To_Holder 410 (Element : AMF.UML.Optional_UML_Expansion_Kind) 411 return League.Holders.Holder is 412 begin 413 return Result : League.Holders.Holder do 414 League.Holders.Set_Tag 415 (Result, AMF.UML.Holders.Expansion_Kinds.Value_Tag); 416 417 if not Element.Is_Empty then 418 AMF.UML.Holders.Expansion_Kinds.Replace_Element 419 (Result, Element.Value); 420 end if; 421 end return; 422 end To_Holder; 423 424 --------------- 425 -- To_Holder -- 426 --------------- 427 428 function To_Holder 429 (Element : AMF.UML.Optional_UML_Interaction_Operator_Kind) 430 return League.Holders.Holder is 431 begin 432 return Result : League.Holders.Holder do 433 League.Holders.Set_Tag 434 (Result, AMF.UML.Holders.Interaction_Operator_Kinds.Value_Tag); 435 436 if not Element.Is_Empty then 437 AMF.UML.Holders.Interaction_Operator_Kinds.Replace_Element 438 (Result, Element.Value); 439 end if; 440 end return; 441 end To_Holder; 442 443 --------------- 444 -- To_Holder -- 445 --------------- 446 447 function To_Holder 448 (Element : AMF.UML.Optional_UML_Message_Kind) 449 return League.Holders.Holder is 450 begin 451 return Result : League.Holders.Holder do 452 League.Holders.Set_Tag 453 (Result, AMF.UML.Holders.Message_Kinds.Value_Tag); 454 455 if not Element.Is_Empty then 456 AMF.UML.Holders.Message_Kinds.Replace_Element 457 (Result, Element.Value); 458 end if; 459 end return; 460 end To_Holder; 461 462 --------------- 463 -- To_Holder -- 464 --------------- 465 466 function To_Holder 467 (Element : AMF.UML.Optional_UML_Message_Sort) 468 return League.Holders.Holder is 469 begin 470 return Result : League.Holders.Holder do 471 League.Holders.Set_Tag 472 (Result, AMF.UML.Holders.Message_Sorts.Value_Tag); 473 474 if not Element.Is_Empty then 475 AMF.UML.Holders.Message_Sorts.Replace_Element 476 (Result, Element.Value); 477 end if; 478 end return; 479 end To_Holder; 480 481 --------------- 482 -- To_Holder -- 483 --------------- 484 485 function To_Holder 486 (Element : AMF.UML.Optional_UML_Object_Node_Ordering_Kind) 487 return League.Holders.Holder is 488 begin 489 return Result : League.Holders.Holder do 490 League.Holders.Set_Tag 491 (Result, AMF.UML.Holders.Object_Node_Ordering_Kinds.Value_Tag); 492 493 if not Element.Is_Empty then 494 AMF.UML.Holders.Object_Node_Ordering_Kinds.Replace_Element 495 (Result, Element.Value); 496 end if; 497 end return; 498 end To_Holder; 499 500 --------------- 501 -- To_Holder -- 502 --------------- 503 504 function To_Holder 505 (Element : AMF.UML.Optional_UML_Parameter_Direction_Kind) 506 return League.Holders.Holder is 507 begin 508 return Result : League.Holders.Holder do 509 League.Holders.Set_Tag 510 (Result, AMF.UML.Holders.Parameter_Direction_Kinds.Value_Tag); 511 512 if not Element.Is_Empty then 513 AMF.UML.Holders.Parameter_Direction_Kinds.Replace_Element 514 (Result, Element.Value); 515 end if; 516 end return; 517 end To_Holder; 518 519 --------------- 520 -- To_Holder -- 521 --------------- 522 523 function To_Holder 524 (Element : AMF.UML.Optional_UML_Parameter_Effect_Kind) 525 return League.Holders.Holder is 526 begin 527 return Result : League.Holders.Holder do 528 League.Holders.Set_Tag 529 (Result, AMF.UML.Holders.Parameter_Effect_Kinds.Value_Tag); 530 531 if not Element.Is_Empty then 532 AMF.UML.Holders.Parameter_Effect_Kinds.Replace_Element 533 (Result, Element.Value); 534 end if; 535 end return; 536 end To_Holder; 537 538 --------------- 539 -- To_Holder -- 540 --------------- 541 542 function To_Holder 543 (Element : AMF.UML.Optional_UML_Pseudostate_Kind) 544 return League.Holders.Holder is 545 begin 546 return Result : League.Holders.Holder do 547 League.Holders.Set_Tag 548 (Result, AMF.UML.Holders.Pseudostate_Kinds.Value_Tag); 549 550 if not Element.Is_Empty then 551 AMF.UML.Holders.Pseudostate_Kinds.Replace_Element 552 (Result, Element.Value); 553 end if; 554 end return; 555 end To_Holder; 556 557 --------------- 558 -- To_Holder -- 559 --------------- 560 561 function To_Holder 562 (Element : AMF.UML.Optional_UML_Transition_Kind) 563 return League.Holders.Holder is 564 begin 565 return Result : League.Holders.Holder do 566 League.Holders.Set_Tag 567 (Result, AMF.UML.Holders.Transition_Kinds.Value_Tag); 568 569 if not Element.Is_Empty then 570 AMF.UML.Holders.Transition_Kinds.Replace_Element 571 (Result, Element.Value); 572 end if; 573 end return; 574 end To_Holder; 575 576 --------------- 577 -- To_Holder -- 578 --------------- 579 580 function To_Holder 581 (Element : AMF.UML.Optional_UML_Visibility_Kind) 582 return League.Holders.Holder is 583 begin 584 return Result : League.Holders.Holder do 585 League.Holders.Set_Tag 586 (Result, AMF.UML.Holders.Visibility_Kinds.Value_Tag); 587 588 if not Element.Is_Empty then 589 AMF.UML.Holders.Visibility_Kinds.Replace_Element 590 (Result, Element.Value); 591 end if; 592 end return; 593 end To_Holder; 594 595end AMF.UML.Holders; 596