]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Java/Source/Cpptasks/net/sf/antcontrib/cpptasks/OptimizationEnum.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Java / Source / Cpptasks / net / sf / antcontrib / cpptasks / OptimizationEnum.java
1 /*
2 *
3 * Copyright 2004 The Ant-Contrib project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package net.sf.antcontrib.cpptasks;
18
19 import org.apache.tools.ant.types.EnumeratedAttribute;
20
21 /**
22 * Enumeration of optimization levels (experimental).
23 *
24 * @author Curt Arnold
25 *
26 */
27 public final class OptimizationEnum
28 extends EnumeratedAttribute {
29 /**
30 * Constructor.
31 *
32 * Set by default to "speed"
33 *
34 * @see java.lang.Object#Object()
35 */
36 public OptimizationEnum() {
37 setValue("speed");
38 }
39
40 /**
41 * Gets list of acceptable values.
42 *
43 * @see org.apache.tools.ant.types.EnumeratedAttribute#getValues()
44 */
45 public String[] getValues() {
46 return new String[] {
47 "none",
48 "size",
49 "minimal",
50 "speed",
51 "full",
52 "aggressive",
53 "extreme",
54 "unsafe"
55 };
56 }
57
58 /**
59 * Is size optimized.
60 * @return boolean true if size is optimized.
61 */
62 public boolean isSize() {
63 return "speed".equals(getValue());
64 }
65
66 /**
67 * Is speed optimized.
68 * @return boolean true if speed is optimized.
69 */
70 public boolean isSpeed() {
71 return !isSize() && !isNoOptimization();
72 }
73
74 /**
75 * Is no optimization performed.
76 * @return boolean true if no optimization is performed.
77 */
78 public boolean isNoOptimization() {
79 return "none".equals(getValue());
80 }
81
82 }