KickJava   Java API By Example, From Geeks To Geeks.

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


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: TypePrefixFormat.java,v 1.2 2004/06/07 09:09:37 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  * This action transforms the type prefix tag in order to reverse it.
38  *
39  * @author Pierre Carpentier
40  */

41 public class TypePrefixFormat extends CompositeXmlAction {
42
43     /**
44      * Constructor.
45      */

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

58     class TransformAction extends ActionBase {
59
60         /**
61          * Transform the prefix return it.
62          *
63          * @param bean The prefix.
64          * @param request The context.
65          * @return Object The reverse prefix.
66          */

67          public Object JavaDoc execute(Object JavaDoc bean, RuleContext request) throws TransformationException {
68              if (bean != null) {
69                  String JavaDoc prefix = (String JavaDoc)bean;
70
71                  java.util.StringTokenizer JavaDoc token = new java.util.StringTokenizer JavaDoc(prefix, ".");
72                  StringBuffer JavaDoc reversePrefix = new StringBuffer JavaDoc();
73                  while (token.hasMoreTokens()) {
74                      if (reversePrefix.length() > 0)
75                          reversePrefix.insert(0, ".");
76                      reversePrefix.insert(0, token.nextToken());
77                  }
78                  return reversePrefix.toString();
79              }
80              return bean;
81         }
82     } // end class
83
}
Popular Tags