View Javadoc

1   /*
2    * Copyright 2004,2007 The Apache Software Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of 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,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.apache.ws.commons.schema;
18  
19  import javax.xml.namespace.QName;
20  import java.util.HashMap;
21  import java.util.Iterator;
22  
23  /**
24   * A collection class that provides read-only helpers for XmlSchemaObject
25   * objects. This class is used to provide the collections for contained
26   * elements that are within the schema as collections that are accessed
27   * from the XmlSchema class (for example, Attributes, AttributeGroups,
28   * Elements, and so on).
29   */
30  
31  public class XmlSchemaObjectTable {
32  
33      HashMap collection;
34  
35      /**
36       * Creates new XmlSchemaObjectTable
37       */
38      public XmlSchemaObjectTable() {
39          this.collection = new HashMap();
40      }
41  
42      public int getCount() {
43          return this.collection.size();
44      }
45  
46      public XmlSchemaObject getItem(QName name) {
47          return (XmlSchemaObject) collection.get(name);
48      }
49  
50      public Iterator getNames() {
51          return collection.keySet().iterator();
52      }
53  
54      public Iterator getValues() {
55          return collection.values().iterator();
56      }
57  
58      public boolean contains(QName name) {
59          return collection.containsKey(name);
60      }
61  
62      public void add(QName name, XmlSchemaObject value) {
63          collection.put(name, value);
64      }
65  }