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: 2714 $ $Date: 2012-03-24 10:29:08 +0400 (Sat, 24 Mar 2012) $
43------------------------------------------------------------------------------
44--  This file is generated, don't edit it.
45------------------------------------------------------------------------------
46--  An artifact is the specification of a physical piece of information that
47--  is used or produced by a software development process, or by deployment
48--  and operation of a system. Examples of artifacts include model files,
49--  source files, scripts, and binary executable files, a table in a database
50--  system, a development deliverable, or a word-processing document, a mail
51--  message.
52--
53--  An artifact is the source of a deployment to a node.
54------------------------------------------------------------------------------
55limited with AMF.UML.Artifacts.Collections;
56with AMF.UML.Classifiers;
57with AMF.UML.Deployed_Artifacts;
58limited with AMF.UML.Manifestations.Collections;
59limited with AMF.UML.Operations.Collections;
60limited with AMF.UML.Properties.Collections;
61
62package AMF.UML.Artifacts is
63
64   pragma Preelaborate;
65
66   type UML_Artifact is limited interface
67     and AMF.UML.Classifiers.UML_Classifier
68     and AMF.UML.Deployed_Artifacts.UML_Deployed_Artifact;
69
70   type UML_Artifact_Access is
71     access all UML_Artifact'Class;
72   for UML_Artifact_Access'Storage_Size use 0;
73
74   not overriding function Get_File_Name
75    (Self : not null access constant UML_Artifact)
76       return AMF.Optional_String is abstract;
77   --  Getter of Artifact::fileName.
78   --
79   --  A concrete name that is used to refer to the Artifact in a physical
80   --  context. Example: file system name, universal resource locator.
81
82   not overriding procedure Set_File_Name
83    (Self : not null access UML_Artifact;
84     To   : AMF.Optional_String) is abstract;
85   --  Setter of Artifact::fileName.
86   --
87   --  A concrete name that is used to refer to the Artifact in a physical
88   --  context. Example: file system name, universal resource locator.
89
90   not overriding function Get_Manifestation
91    (Self : not null access constant UML_Artifact)
92       return AMF.UML.Manifestations.Collections.Set_Of_UML_Manifestation is abstract;
93   --  Getter of Artifact::manifestation.
94   --
95   --  The set of model elements that are manifested in the Artifact. That is,
96   --  these model elements are utilized in the construction (or generation)
97   --  of the artifact.
98
99   not overriding function Get_Nested_Artifact
100    (Self : not null access constant UML_Artifact)
101       return AMF.UML.Artifacts.Collections.Set_Of_UML_Artifact is abstract;
102   --  Getter of Artifact::nestedArtifact.
103   --
104   --  The Artifacts that are defined (nested) within the Artifact. The
105   --  association is a specialization of the ownedMember association from
106   --  Namespace to NamedElement.
107
108   not overriding function Get_Owned_Attribute
109    (Self : not null access constant UML_Artifact)
110       return AMF.UML.Properties.Collections.Ordered_Set_Of_UML_Property is abstract;
111   --  Getter of Artifact::ownedAttribute.
112   --
113   --  The attributes or association ends defined for the Artifact. The
114   --  association is a specialization of the ownedMember association.
115
116   not overriding function Get_Owned_Operation
117    (Self : not null access constant UML_Artifact)
118       return AMF.UML.Operations.Collections.Ordered_Set_Of_UML_Operation is abstract;
119   --  Getter of Artifact::ownedOperation.
120   --
121   --  The Operations defined for the Artifact. The association is a
122   --  specialization of the ownedMember association.
123
124end AMF.UML.Artifacts;
125