KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > google > gwt > dev > cfg > ConditionWhenTypeIs


1 /*
2  * Copyright 2006 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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
21 /**
22  * A deferred binding condition to determine whether the type being rebound is
23  * exactly a particular type.
24  */

25 public class ConditionWhenTypeIs extends Condition {
26
27   private final String JavaDoc exactTypeName;
28
29   public ConditionWhenTypeIs(String JavaDoc exactTypeName) {
30     this.exactTypeName = exactTypeName;
31   }
32
33   public String JavaDoc toString() {
34     return "<when-type-is class='" + exactTypeName + "'/>";
35   }
36
37   protected boolean doEval(TreeLogger logger, GeneratorContext context,
38       String JavaDoc testType) {
39     return exactTypeName.equals(testType);
40   }
41
42   protected String JavaDoc getEvalAfterMessage(String JavaDoc testType, boolean result) {
43     if (result) {
44       return "Yes, the requested type was an exact match";
45     } else {
46       return "Not an exact match";
47     }
48   }
49
50   protected String JavaDoc getEvalBeforeMessage(String JavaDoc testType) {
51     return toString();
52   }
53 }
54
Popular Tags