View Javadoc
1   /*
2    * Copyright 2007 Assaf Arkin, Keith Visco, Ralf Joachim
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.castor.builder.types;
15  
16  import org.exolab.javasource.JSourceCode;
17  
18  /**
19   * A list type.
20   * 
21   * @author <a href="mailto:arkin AT intalio DOT com">Assaf Arkin</a>
22   * @author <a href="mailto:keith AT kvisco DOT com">Keith Visco</a>
23   * @author <a href="mailto:ralf DOT joachim AT syscon DOT eu">Ralf Joachim</a>
24   * @version $Revision$ $Date: 2005-12-13 14:58:48 -0700 (Tue, 13 Dec 2005) $
25   */
26  public final class XSList extends XSListType {
27  
28    /** Type number of this XSType. */
29    public static final short TYPE = XSType.COLLECTION;
30  
31    /**
32     * Indicates whether this {@link XSList} instance has been created as a result of a
33     * <xs:list> definition.
34     */
35    private boolean _derivedFromXSList;
36  
37    // --------------------------------------------------------------------------
38  
39    /**
40     * Create a XSList.
41     *
42     * @param colType Type of collection to use.
43     * @param contentType Type of the collection members.
44     * @param useJava50 If true, the collection will be generated using Java 5 features such as
45     *        generics.
46     */
47    public XSList(final String colType, final XSType contentType, final boolean useJava50) {
48      super(colType, contentType, useJava50);
49    }
50  
51    // --------------------------------------------------------------------------
52  
53    /**
54     * {@inheritDoc}
55     */
56    public short getType() {
57      return TYPE;
58    }
59  
60  
61    // --------------------------------------------------------------------------
62  
63    /**
64     * {@inheritDoc}
65     */
66    public void validationCode(final JSourceCode jsc, final String fixedValue,
67        final String validatorInstanceName) {
68      getContentType().validationCode(jsc, fixedValue, validatorInstanceName);
69    }
70  
71    /**
72     * Sets whether this {@link XSList} instance has been created as a result of a
73     * <xs:list> definition.
74     * 
75     * @param derivedFromXSList A boolean value, true or false.
76     */
77    public void setDerivedFromXSList(final boolean derivedFromXSList) {
78      _derivedFromXSList = derivedFromXSList;
79    }
80  
81    /**
82     * Indicates whether this {@link XSList} instance has been created as a result of a
83     * <xs:list> definition.
84     * 
85     * @param derivedFromXSList True if this XSList instance has been created as a result of a
86     *        <xs:list> definition.
87     */
88    public boolean isDerivedFromXSList() {
89      return _derivedFromXSList;
90    }
91  
92    // --------------------------------------------------------------------------
93  }