KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > uml > transformation > ast > ValueMemberVisibility


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Pierre Carpentier.
23 Contributor(s): Philippe Merle.
24
25 ---------------------------------------------------------------------
26 $Id: ValueMemberVisibility.java,v 1.1 2004/05/26 11:25:35 carpentier Exp $
27 ====================================================================*/

28
29 package org.objectweb.openccm.uml.transformation.ast;
30
31 import ispuml.mdaTransformation.RuleContext;
32 import ispuml.mdaTransformation.TransformationException;
33 import ispuml.mdaTransformation.ActionBase;
34 import ispuml.mdaTransformation.rules.xml.CompositeXmlAction;
35
36
37 /**
38  * This action sets the visibility of a ValueMember.
39  */

40 public class ValueMemberVisibility extends CompositeXmlAction {
41
42     /**
43      * Constructor.
44      */

45     public ValueMemberVisibility() {
46         // The src property is not required. If it is not set, use the bean provided
47
// as parameter.
48
isSrcPropertyRequired = false;
49         isDstPropertyRequired = false;
50         action = new TransformAction();
51     }
52
53     /**
54      * Inner class
55      */

56     class TransformAction extends ActionBase {
57         /**
58          * Sets the visibility of the ValueMember (according to the visibility of the UML class).
59          * @param bean The UML class representing the ValueMember.
60          * @param request The context.
61          * @return Object The ValueMember.
62          */

63         public Object JavaDoc execute(Object JavaDoc bean, RuleContext request) throws TransformationException {
64             Object JavaDoc obj = request.getAttribute("visibility");
65             org.omg.uml.datatypes.VisibilityKind visibility;
66             visibility = (org.omg.uml.datatypes.VisibilityKind)obj;
67             obj = request.getAttribute("declaration");
68             org.objectweb.openccm.ast.api.ValueMemberDecl declaration;
69             declaration = (org.objectweb.openccm.ast.api.ValueMemberDecl) obj;
70             
71             if (visibility.toString().equals("vk_public")) {
72                 declaration.setPublic();
73             } else if (visibility.toString().equals("vk_private")) {
74                 declaration.setPrivate();
75             }
76             return declaration;
77         }
78
79     } // end class
80
}
81
Popular Tags