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  }