View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  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  
18  package org.apache.jdo.impl.model.java;
19  
20  import org.apache.jdo.model.java.JavaType;
21  
22  /***
23   * An instance of class ErrorType represents an erroneous type. Components
24   * such as the semantic analysis may use this type to indicate an error
25   * situtaion. It is compatible to all other types. 
26   * 
27   * @author Michael Bouschen
28   * @since JDO 1.0.1
29   */
30  public class ErrorType
31      extends AbstractJavaType
32  {
33      /*** The singleton ErrorType instance. */
34      public static final ErrorType errorType = new ErrorType();
35  
36      /*** 
37       * Creates new a ErrorType instance. This constructor should not be 
38       * called directly; instead, the singleton instance  {@link #errorType}
39       * should be used. 
40       */
41      protected ErrorType() {}
42  
43      /*** 
44       * Returns true if this JavaType is compatible with the specified
45       * JavaType. This implementation always returns <code>true</code>,
46       * because ErrorType is compatible with any other type.
47       * @param javaType the type this JavaType is checked with.
48       * @return <code>true</code> if this is compatible with the specified
49       * type; <code>false</code> otherwise.
50       */
51      public boolean isCompatibleWith(JavaType javaType)
52      {
53          return true;
54      }
55      
56      /*** 
57       * Returns the name of the type.  
58       * @return type name
59       */
60      public String getName()
61      {
62          return "<error type>"; //NOI18N
63      }
64  
65  }