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  import java.util.HashMap;
    24  import java.util.Iterator;
    25
    26  /**
    27   * A collection class that provides read-only helpers for XmlSchemaObject
    28   * objects. This class is used to provide the collections for contained
    29   * elements that are within the schema as collections that are accessed
    30   * from the XmlSchema class (for example, Attributes, AttributeGroups,
    31   * Elements, and so on).
    32   */
    33
    34  public class XmlSchemaObjectTable {
    35
    36      HashMap collection;
    37
    38      /**
    39       * Creates new XmlSchemaObjectTable
    40       */
    41      public XmlSchemaObjectTable() {
    42          this.collection = new HashMap();
    43      }
    44
    45      public int getCount() {
    46          return this.collection.size();
    47      }
    48
    49      public XmlSchemaObject getItem(QName name) {
    50          return (XmlSchemaObject) collection.get(name);
    51      }
    52
    53      public Iterator getNames() {
    54          return collection.keySet().iterator();
    55      }
    56
    57      public Iterator getValues() {
    58          return collection.values().iterator();
    59      }
    60
    61      public boolean contains(QName name) {
    62          return collection.containsKey(name);
    63      }
    64
    65      public void add(QName name, XmlSchemaObject value) {
    66          collection.put(name, value);
    67      }
    68  }