KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > corba > idl2java > PreprocessorOptionBase


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.corba.idl2java;
28
29 // Package dependencies.
30
import org.objectweb.util.cmdline.lib.DefaultOptionBase;
31
32
33 /**
34  * This is a base class for Preprocessor Options.
35  *
36  * @author <a HREF="mailto:Christophe.Demarey@lifl.fr">Christophe Demarey</a>
37  *
38  * @version 0.1
39  */

40 public abstract class PreprocessorOptionBase
41               extends DefaultOptionBase
42            implements PreprocessorOption
43 {
44     // ==================================================================
45
//
46
// Internal state.
47
//
48
// ==================================================================
49

50     // ==================================================================
51
//
52
// Constructors.
53
//
54
// ==================================================================
55

56     /** The default constructor. */
57     public PreprocessorOptionBase()
58     {
59         // Calls the DefaultOptionBase constructor.
60
super();
61
62         setArguments(new String JavaDoc[0]);
63         setMandatory(false);
64     }
65
66     // ==================================================================
67
//
68
// Internal methods.
69
//
70
// ==================================================================
71

72     // ==================================================================
73
//
74
// Public methods for interface org.objectweb.util.cmdline.api.Option
75
//
76
// ==================================================================
77

78     /**
79      * Checks the current command line argument.
80      *
81      * @param current The current command line argument.
82      *
83      * @return true if the option accepts this argument.
84      */

85     public boolean check(String JavaDoc current) {
86       String JavaDoc baseOptionLabel = getBaseOptionLabel();
87
88         if (!current.startsWith(baseOptionLabel)) {
89             return false;
90         }
91
92         consumeOption(current.substring(baseOptionLabel.length()));
93         return true;
94     }
95
96     /**
97      * Consumes command line arguments from an iterator.
98      *
99      * @param iterator The command line argument iterator.
100      */

101     public void
102     consume(org.objectweb.util.cmdline.api.Iterator iterator) {
103         // Nothing to do.
104
}
105
106     // ==================================================================
107
//
108
// Public methods for org.objectweb.util.cpp.api.PreprocessorOption
109
//
110
// ==================================================================
111

112     /**
113      * Gets the base option label.
114      *
115      * @return The base option label.
116      */

117     public abstract String JavaDoc getBaseOptionLabel();
118
119     /**
120      * Consumes the option.
121      *
122      * @param current The option value.
123      */

124     public abstract void consumeOption(String JavaDoc current);
125
126     // ==================================================================
127
//
128
// Public methods.
129
//
130
// ==================================================================
131

132 }
133
Popular Tags