src/share/jaxws_classes/com/sun/xml/internal/xsom/XSSchema.java

changeset 0
373ffda63c9a
equal deleted inserted replaced
-1:000000000000 0:373ffda63c9a
1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.sun.xml.internal.xsom;
27
28 import com.sun.xml.internal.xsom.parser.SchemaDocument;
29
30 import java.util.Iterator;
31 import java.util.Map;
32
33 /**
34 * Schema.
35 *
36 * Container of declarations that belong to the same target namespace.
37 *
38 * @author
39 * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
40 */
41 public interface XSSchema extends XSComponent
42 {
43 /**
44 * Gets the target namespace of the schema.
45 *
46 * @return
47 * can be empty, but never be null.
48 */
49 String getTargetNamespace();
50
51 /**
52 * Gets all the {@link XSAttributeDecl}s in this schema
53 * keyed by their local names.
54 */
55 Map<String,XSAttributeDecl> getAttributeDecls();
56 Iterator<XSAttributeDecl> iterateAttributeDecls();
57 XSAttributeDecl getAttributeDecl(String localName);
58
59 /**
60 * Gets all the {@link XSElementDecl}s in this schema.
61 */
62 Map<String,XSElementDecl> getElementDecls();
63 Iterator<XSElementDecl> iterateElementDecls();
64 XSElementDecl getElementDecl(String localName);
65
66 /**
67 * Gets all the {@link XSAttGroupDecl}s in this schema.
68 */
69 Map<String,XSAttGroupDecl> getAttGroupDecls();
70 Iterator<XSAttGroupDecl> iterateAttGroupDecls();
71 XSAttGroupDecl getAttGroupDecl(String localName);
72
73 /**
74 * Gets all the {@link XSModelGroupDecl}s in this schema.
75 */
76 Map<String,XSModelGroupDecl> getModelGroupDecls();
77 Iterator<XSModelGroupDecl> iterateModelGroupDecls();
78 XSModelGroupDecl getModelGroupDecl(String localName);
79
80 /**
81 * Gets all the {@link XSType}s in this schema (union of
82 * {@link #getSimpleTypes()} and {@link #getComplexTypes()}
83 */
84 Map<String,XSType> getTypes();
85 Iterator<XSType> iterateTypes();
86 XSType getType(String localName);
87
88 /**
89 * Gets all the {@link XSSimpleType}s in this schema.
90 */
91 Map<String,XSSimpleType> getSimpleTypes();
92 Iterator<XSSimpleType> iterateSimpleTypes();
93 XSSimpleType getSimpleType(String localName);
94
95 /**
96 * Gets all the {@link XSComplexType}s in this schema.
97 */
98 Map<String,XSComplexType> getComplexTypes();
99 Iterator<XSComplexType> iterateComplexTypes();
100 XSComplexType getComplexType(String localName);
101
102 /**
103 * Gets all the {@link XSNotation}s in this schema.
104 */
105 Map<String,XSNotation> getNotations();
106 Iterator<XSNotation> iterateNotations();
107 XSNotation getNotation(String localName);
108
109 /**
110 * Gets all the {@link XSIdentityConstraint}s in this schema,
111 * keyed by their names.
112 */
113 Map<String,XSIdentityConstraint> getIdentityConstraints();
114
115 /**
116 * Gets the identity constraint of the given name, or null if not found.
117 */
118 XSIdentityConstraint getIdentityConstraint(String localName);
119
120 /**
121 * Sine an {@link XSSchema} is not necessarily defined in
122 * one schema document (for example one schema can span across
123 * many documents through &lt;xs:include>s.),
124 * so this method always returns null.
125 *
126 * @deprecated
127 * Since this method always returns null, if you are calling
128 * this method from {@link XSSchema} and not from {@link XSComponent},
129 * there's something wrong with your code.
130 */
131 SchemaDocument getSourceDocument();
132
133 /**
134 * Gets the root schema set that includes this schema.
135 *
136 * @return never null.
137 */
138 XSSchemaSet getRoot();
139 }

mercurial