KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > generator > idl > api > IDL3Generator


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): Christophe Demarey.
23 Contributor(s): .
24
25 ====================================================================*/

26
27 package org.objectweb.openccm.generator.idl.api;
28
29
30 /** To use ArrayList. */
31 import java.util.ArrayList JavaDoc;
32
33 /** To access all the AST Scope. */
34 import org.objectweb.openccm.ast.api.Scope;
35
36 /** To access Generation Exception. */
37 import org.objectweb.openccm.generator.common.lib.GenerationException;
38
39
40 public interface IDL3Generator
41          extends org.objectweb.openccm.generator.common.api.Generator
42 {
43     /**
44      * Initialize the generator.
45      *
46      * @param outputfile - The name where declarations will be generated.
47      * @param imports - IR declarations to import.
48      * @param app_name - The application's name.
49      **/

50     public void
51     initialize( String JavaDoc outputfile,
52                 ArrayList JavaDoc imports,
53                 String JavaDoc app_name );
54
55     /**
56      * Generates contents of a scope.
57      * name must be a valid declaration name.
58      *
59      * @param name - The name of the declaration to visit.
60      *
61      * @throws GenerationException
62      **/

63     public void
64     generate(String JavaDoc name)
65     throws GenerationException;
66
67     /**
68      * Generates contents of a scope.
69      *
70      * @param scope - The scope to visit.
71      *
72      * @throws GenerationException
73      **/

74     public void
75     generate(Scope scope)
76     throws GenerationException;
77
78     /**
79      * Generates contents of the root scope.
80      * Declarations types must match to limited types.
81      *
82      * @param target_decl - The scope to visit.
83      * @param limited_types - A logical combination of DeclarationKind.
84      *
85      * @throws GenerationException
86      **/

87     public void
88     generate(Scope target_decl, long limited_types)
89     throws GenerationException;
90 }
91
Popular Tags