View Javadoc

1   /*
2    * Copyright 2006 Werner Guttmann
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 org.codehaus.modello.plugin.java.javasource;
17  
18  /**
19   * JType sub-class for componentized types, such as array as collections.
20   *
21   * @author Werner Guttman
22   * @version $Revision$ $Date$
23   * @since 1.0.4
24   */
25  public class JComponentizedType
26      extends JType
27  {
28      // --------------------------------------------------------------------------
29  
30      /** Indicates the data type contained in this collection. */
31      private JType _componentType;
32  
33      /** Indicates whether Java 5.0 compliant code is required. */
34      private boolean _useJava50;
35  
36      // --------------------------------------------------------------------------
37  
38      /**
39       * Creates an instance of a componentized type, of type 'name'.
40       *
41       * @param name Type name for this componentized type.
42       * @param componentType Component type.
43       * @param useJava50 True if Java 5.0 should be used.
44       */
45      protected JComponentizedType( final String name, final JType componentType, final boolean useJava50 )
46      {
47          super( name );
48  
49          _componentType = componentType;
50          _useJava50 = useJava50;
51      }
52  
53      // --------------------------------------------------------------------------
54  
55      /**
56       * Returns the component type.
57       *
58       * @return The component type.
59       */
60      public final JType getComponentType()
61      {
62          return _componentType;
63      }
64  
65      /**
66       * Indicates whether Java 5.0 is used.
67       *
68       * @return True if Java 5.0 is used.
69       */
70      public final boolean isUseJava50()
71      {
72          return _useJava50;
73      }
74  
75      // --------------------------------------------------------------------------
76  }