01: /*
02: * The contents of this file are subject to the terms
03: * of the Common Development and Distribution License
04: * (the "License"). You may not use this file except
05: * in compliance with the License.
06: *
07: * You can obtain a copy of the license at
08: * https://jwsdp.dev.java.net/CDDLv1.0.html
09: * See the License for the specific language governing
10: * permissions and limitations under the License.
11: *
12: * When distributing Covered Code, include this CDDL
13: * HEADER in each file and include the License file at
14: * https://jwsdp.dev.java.net/CDDLv1.0.html If applicable,
15: * add the following below this CDDL HEADER, with the
16: * fields enclosed by brackets "[]" replaced with your
17: * own identifying information: Portions Copyright [yyyy]
18: * [name of copyright owner]
19: */
20: package com.sun.xml.xsom;
21:
22: import java.util.Iterator;
23: import java.util.Collection;
24:
25: /**
26: * Common aspect of {@link XSComplexType} and {@link XSAttGroupDecl}
27: * as the container of attribute uses/attribute groups.
28: *
29: * @author
30: * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
31: */
32: public interface XSAttContainer extends XSDeclaration {
33: XSWildcard getAttributeWildcard();
34:
35: /**
36: * Looks for the attribute use with the specified name from
37: * all the attribute uses that are directly/indirectly
38: * referenced from this component.
39: *
40: * <p>
41: * This is the exact implementation of the "attribute use"
42: * schema component.
43: */
44: XSAttributeUse getAttributeUse(String nsURI, String localName);
45:
46: /**
47: * Lists all the attribute uses that are directly/indirectly
48: * referenced from this component.
49: *
50: * <p>
51: * This is the exact implementation of the "attribute use"
52: * schema component.
53: */
54: Iterator<? extends XSAttributeUse> iterateAttributeUses();
55:
56: /**
57: * Gets all the attribute uses.
58: */
59: Collection<? extends XSAttributeUse> getAttributeUses();
60:
61: /**
62: * Looks for the attribute use with the specified name from
63: * the attribute uses which are declared in this complex type.
64: *
65: * This does not include att uses declared in att groups that
66: * are referenced from this complex type, nor does include
67: * att uses declared in base types.
68: */
69: XSAttributeUse getDeclaredAttributeUse(String nsURI,
70: String localName);
71:
72: /**
73: * Lists all the attribute uses that are declared in this complex type.
74: */
75: Iterator<? extends XSAttributeUse> iterateDeclaredAttributeUses();
76:
77: /**
78: * Lists all the attribute uses that are declared in this complex type.
79: */
80: Collection<? extends XSAttributeUse> getDeclaredAttributeUses();
81:
82: /**
83: * Iterates all AttGroups which are directly referenced from
84: * this component.
85: */
86: Iterator<? extends XSAttGroupDecl> iterateAttGroups();
87:
88: /**
89: * Iterates all AttGroups which are directly referenced from
90: * this component.
91: */
92: Collection<? extends XSAttGroupDecl> getAttGroups();
93: }
|