0
|
1 /*
|
|
2 * (c) Copyright IBM Corp 2004, 2005
|
|
3 */
|
|
4
|
|
5 package javax.wadls.extensions.schema;
|
|
6
|
|
7 import java.io.Serializable;
|
|
8 import java.util.List;
|
|
9 import java.util.Map;
|
|
10
|
|
11 import javax.wadls.extensions.ExtensibilityElement;
|
|
12 import javax.xml.namespace.QName;
|
|
13
|
|
14 import org.w3c.dom.Element;
|
|
15
|
|
16 /**
|
|
17 * Represents a schema element.
|
|
18 * This is a lightweight schema wrapper that provides access to
|
|
19 * the schema DOM element, but does not parse the schema details.
|
|
20 * The implementor may provide alternative schema parsing if required.
|
|
21 *
|
|
22 * @author Jeremy Hughes
|
|
23 *
|
|
24 */
|
|
25 public interface Schema extends Serializable
|
|
26 {
|
|
27 /**
|
|
28 * Get a map of lists containing all the imports defined here.
|
|
29 * The map's keys are the namespaceURIs, and the map's values
|
|
30 * are lists. There is one list for each namespaceURI for which
|
|
31 * imports have been defined.
|
|
32 *
|
|
33 * @return a map of lists of schema imports
|
|
34 */
|
|
35
|
|
36 public void setElementType(QName elementType);
|
|
37
|
|
38 /**
|
|
39 * Get the type of this extensibility element.
|
|
40 *
|
|
41 * @return the extensibility element's type
|
|
42 */
|
|
43 public QName getElementType();
|
|
44
|
|
45 /**
|
|
46 * Set whether or not the semantics of this extension
|
|
47 * are required. Relates to the wsdl:required attribute.
|
|
48 */
|
|
49 public void setRequired(Boolean required);
|
|
50
|
|
51 /**
|
|
52 * Get whether or not the semantics of this extension
|
|
53 * are required. Relates to the wsdl:required attribute.
|
|
54 */
|
|
55 public Boolean getRequired();
|
|
56 public Map getImports();
|
|
57
|
|
58 /**
|
|
59 * Create a new schema import
|
|
60 *
|
|
61 * @return the newly created schema import
|
|
62 */
|
|
63 public SchemaImport createImport();
|
|
64
|
|
65 /**
|
|
66 * Add an import to this LightWeightSchema
|
|
67 *
|
|
68 * @param importSchema the import to be added
|
|
69 */
|
|
70 public void addImport(SchemaImport importSchema);
|
|
71
|
|
72 /**
|
|
73 * Get a list containing all of the includes defined here.
|
|
74 * The list elements are schema references.
|
|
75 *
|
|
76 * @return a list of schema references.
|
|
77 */
|
|
78 public List getIncludes();
|
|
79
|
|
80 /**
|
|
81 * Create a new schema reference to represent an include.
|
|
82 *
|
|
83 * @return the newly created SchemaReference
|
|
84 */
|
|
85 public SchemaReference createInclude();
|
|
86
|
|
87 /**
|
|
88 * Add an include to this LightWeightSchema
|
|
89 *
|
|
90 * @param includeSchema The include to be added, represented as a SchemaReference
|
|
91 */
|
|
92 public void addInclude(SchemaReference includeSchema);
|
|
93
|
|
94 /**
|
|
95 * Get a list containing all of the redefines defined here.
|
|
96 * The list elements are schema references.
|
|
97 *
|
|
98 * @return a list of schema references.
|
|
99 */
|
|
100 public List getRedefines();
|
|
101
|
|
102 /**
|
|
103 * Create a new schema reference to represent a redefine.
|
|
104 *
|
|
105 * @return the newly created SchemaReference
|
|
106 */
|
|
107 public SchemaReference createRedefine();
|
|
108
|
|
109 /**
|
|
110 * Add a redefine to this LightWeightSchema
|
|
111 *
|
|
112 * @param redefineSchema The redefine to be added, represented as a SchemaReference
|
|
113 */
|
|
114 public void addRedefine(SchemaReference redefineSchema);
|
|
115
|
|
116 /**
|
|
117 * Set the DOM Element that represents this schema element.
|
|
118 *
|
|
119 * @param element the DOM element representing this schema
|
|
120 */
|
|
121 public void setElement(Element element);
|
|
122
|
|
123 /**
|
|
124 * Get the DOM Element that represents this schema element.
|
|
125 *
|
|
126 * @return the DOM element representing this schema
|
|
127 */
|
|
128 public Element getElement();
|
|
129
|
|
130 /**
|
|
131 * Set the document base URI of this schema definition. Can be used to
|
|
132 * represent the origin of the schema, and can be exploited
|
|
133 * when resolving relative URIs (e.g. in <import>s).
|
|
134 *
|
|
135 * @param documentBaseURI the document base URI of this schema
|
|
136 */
|
|
137 public void setDocumentBaseURI(String documentBaseURI);
|
|
138
|
|
139 /**
|
|
140 * Get the document base URI of this schema
|
|
141 *
|
|
142 * @return the document base URI
|
|
143 */
|
|
144 public String getDocumentBaseURI();
|
|
145
|
|
146 } |