KickJava   Java API By Example, From Geeks To Geeks.

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


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: Scopes.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 java.util.Stack JavaDoc;
32 import org.objectweb.openccm.ast.api.Scope;
33
34 /**
35  * Singleton class for retrieving the current Scope.
36  * The scopes are stocked thanks to a stack.
37  *
38  * @author Pierre Carpentier
39  */

40 public class Scopes {
41
42     /** The scopes. */
43     private static Stack JavaDoc scopes = new java.util.Stack JavaDoc();
44     
45     /**
46      * Gets the current scope.
47      * @return The current scope.
48      */

49     public static Scope getScope() {
50         return (Scope)scopes.peek();
51     }
52     
53     /**
54      * Adds a scope to the stack.
55      * @param scope The scope to add.
56      */

57     public static void pushScope(Scope scope) {
58         scopes.push(scope);
59     }
60     
61     /**
62      * Remove the current scope from the stack.
63      * @return The removed scope.
64      */

65     public static Scope popScope() {
66         return (Scope)scopes.pop();
67     }
68
69
70 }
71
Popular Tags