View Javadoc
1   /*
2    * Copyright 2006 Werner Guttmann
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5    * in compliance with the License. You may obtain a copy of the License at
6    * 
7    * http://www.apache.org/licenses/LICENSE-2.0
8    * 
9    * Unless required by applicable law or agreed to in writing, software distributed under the License
10   * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11   * or implied. See the License for the specific language governing permissions and limitations under
12   * the License.
13   */
14  package org.exolab.javasource;
15  
16  /**
17   * JType sub-class for componentized types, such as array as collections.
18   * 
19   * @author <a href="mailto:werner DOT guttmann AT gmx DOT net">Werner Guttman</a>
20   * @version $Revision: 5951 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
21   * @since 1.0.4
22   */
23  public class JComponentizedType extends JType {
24    // --------------------------------------------------------------------------
25  
26    /** Indicates the data type contained in this collection. */
27    private JType _componentType;
28  
29    /** Indicates whether Java 5.0 compliant code is required. */
30    private boolean _useJava50;
31  
32    // --------------------------------------------------------------------------
33  
34    /**
35     * Creates an instance of a componentized type, of type 'name'.
36     * 
37     * @param name Type name for this componentized type.
38     * @param componentType Component type.
39     * @param useJava50 True if Java 5.0 should be used.
40     */
41    protected JComponentizedType(final String name, final JType componentType,
42        final boolean useJava50) {
43      super(name);
44  
45      _componentType = componentType;
46      _useJava50 = useJava50;
47    }
48  
49    // --------------------------------------------------------------------------
50  
51    /**
52     * Returns the component type.
53     * 
54     * @return The component type.
55     */
56    public final JType getComponentType() {
57      return _componentType;
58    }
59  
60    /**
61     * Indicates whether Java 5.0 is used.
62     * 
63     * @return True if Java 5.0 is used.
64     */
65    public final boolean isUseJava50() {
66      return _useJava50;
67    }
68  
69    // --------------------------------------------------------------------------
70  }