View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements. See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership. The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License. You may obtain a copy of the License at
9    *
10   * http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied. See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  
20  package org.apache.ws.commons.schema;
21  
22  import javax.xml.namespace.QName;
23  
24  
25  /**
26   * Class for complex types with a complex content model derived by extension.
27   * Extends the complex type by adding attributes or elements. Represents the
28   * World Wide Web Consortium (W3C) extension element for complex content.
29   */
30  
31  public class XmlSchemaComplexContentExtension extends XmlSchemaContent {
32  
33      /**
34       * Creates new XmlSchemaComplexContentExtension
35       */
36      public XmlSchemaComplexContentExtension() {
37          attributes = new XmlSchemaObjectCollection();
38  
39      }
40  
41      /* Allows an XmlSchemaAnyAttribute to be used for the attribute value.*/
42      XmlSchemaAnyAttribute anyAttribute;
43  
44      public void setAnyAttribute(XmlSchemaAnyAttribute anyAttribute) {
45          this.anyAttribute = anyAttribute;
46      }
47  
48      public XmlSchemaAnyAttribute getAnyAttribute() {
49          return this.anyAttribute;
50      }
51  
52      /* Contains XmlSchemaAttribute and XmlSchemaAttributeGroupRef. Collection of attributes for the simple type.*/
53      XmlSchemaObjectCollection attributes;
54  
55      public XmlSchemaObjectCollection getAttributes() {
56          return this.attributes;
57      }
58  
59      /* Name of the built-in data type, simple type, or complex type.*/
60      QName baseTypeName;
61  
62      public void setBaseTypeName(QName baseTypeName) {
63          this.baseTypeName = baseTypeName;
64      }
65  
66      public QName getBaseTypeName() {
67          return this.baseTypeName;
68      }
69  
70      /*One of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes.*/
71      XmlSchemaParticle particle;
72  
73      public XmlSchemaParticle getParticle() {
74          return this.particle;
75      }
76  
77      public void setParticle(XmlSchemaParticle particle) {
78          this.particle = particle;
79      }
80  
81      public String toString(String prefix, int tab) {
82          String xml = new String();
83          for (int i = 0; i < tab; i++)
84              xml += "\t";
85          if (!prefix.equals("") && prefix.indexOf(":") == -1)
86              prefix += ":";
87  
88          xml += "<" + prefix + "extension>\n";
89  
90          if (particle != null)
91              xml += particle.toString(prefix, (tab + 1));
92  
93          for (int i = 0; i < tab; i++)
94              xml += "\t";
95  
96          xml += "</" + prefix + "extension>\n";
97          return xml;
98      }
99  }