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  }