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