KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > cpp > lib > OptionDNAME


1 /*====================================================================
2
3 ObjectWeb Util Preprocessor Package.
4 Copyright (C) 2004 INRIA & USTL - LIFL - GOAL
5 Contact: architecture@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): Philippe Merle.
23 Contributor(s): Christophe Demarey.
24
25 --------------------------------------------------------------------
26 $Id: OptionDNAME.java,v 1.1 2004/02/05 20:29:57 rouvoy Exp $
27 ====================================================================*/

28
29 package org.objectweb.util.cpp.lib;
30
31 import org.objectweb.util.cpp.api.Preprocessor;
32
33 /**
34  * This is an implementation for -D preprocessor option, e.g.
35  * -DNAME or -DNAME=DEF.
36  *
37  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>
38  * <a HREF="mailto:Christophe.Demarey@lifl.fr">Christophe Demarey</a>
39  * @version 0.1
40  */

41 public class OptionDNAME
42      extends PreprocessorOptionBase
43 {
44     // ==================================================================
45
//
46
// Internal state.
47
//
48
// ==================================================================
49

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

56     /**
57      * The constructor.
58      *
59      * @param preprocessor The associated preprocessor.
60      */

61     public
62     OptionDNAME(Preprocessor preprocessor)
63     {
64         setLabels(new String JavaDoc[] { "-DNAME", "-DNAME=DEF" });
65         setDescription(new String JavaDoc[] { "Define NAME as DEF, default is 1"});
66         setPreprocessor(preprocessor);
67     }
68
69     // ==================================================================
70
//
71
// Internal methods.
72
//
73
// ==================================================================
74

75     // ==================================================================
76
//
77
// Public methods for interface org.objectweb.util.cmdline.api.Option
78
//
79
// ==================================================================
80

81     // ==================================================================
82
//
83
// Public methods for org.objectweb.util.cpp.api.PreprocessorHolder
84
//
85
// ==================================================================
86

87     // ==================================================================
88
//
89
// Public methods for org.objectweb.util.cpp.api.PreprocessorOption
90
//
91
// ==================================================================
92

93     /**
94      * Gets the base option label.
95      *
96      * @return The base option label.
97      */

98     public String JavaDoc getBaseOptionLabel() {
99         return "-D";
100     }
101
102     /**
103      * Consumes the option value.
104      *
105      * @param current The option value.
106      */

107     public void consumeOption(String JavaDoc current) {
108         // Gets the argument NAME and the associated VALUE.
109
int index = current.indexOf("=");
110         if (index != -1) {
111             getPreprocessor().addMacro(current.substring(0,index),
112                                        current.substring(index+1));
113         } else {
114             getPreprocessor().addMacro(current);
115         }
116     }
117
118     // ==================================================================
119
//
120
// Other public methods.
121
//
122
// ==================================================================
123
}
124
Popular Tags