01: /*
02: * Copyright 2006 Google Inc.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy of
06: * the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations under
14: * the License.
15: */
16: package com.google.gwt.dev.cfg;
17:
18: import com.google.gwt.core.ext.GeneratorContext;
19: import com.google.gwt.core.ext.TreeLogger;
20: import com.google.gwt.core.ext.UnableToCompleteException;
21:
22: import java.util.Iterator;
23:
24: /**
25: * A compound condition that is satisfied if any of its children are satisfied.
26: */
27: public class ConditionAny extends CompoundCondition {
28:
29: public ConditionAny() {
30: }
31:
32: protected boolean doEval(TreeLogger logger,
33: GeneratorContext context, String testType)
34: throws UnableToCompleteException {
35: for (Iterator iter = getConditions().iterator(); iter.hasNext();) {
36: Condition condition = (Condition) iter.next();
37: if (condition.isTrue(logger, context, testType)) {
38: return true;
39: }
40: }
41: return false;
42: }
43:
44: protected String getEvalAfterMessage(String testType, boolean result) {
45: if (result) {
46: return "Yes: One or more subconditions was true";
47: } else {
48: return "No: All subconditions were false";
49: }
50: }
51:
52: protected String getEvalBeforeMessage(String testType) {
53: return "Checking if any subcondition is true (<any>)";
54: }
55: }
|