1 package org.codehaus.xfire.wsdl;
2
3 import java.util.Set;
4
5 import javax.xml.namespace.QName;
6
7 import org.codehaus.yom.Element;
8
9
10 /***
11 * An XSD type.
12 *
13 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
14 */
15 public interface SchemaType
16 {
17 /***
18 * Whether or not this a complex type. If true then
19 * the schema for this type is written out.
20 *
21 * @return
22 */
23 boolean isComplex();
24
25 /***
26 * Whether or not this a complexType or a concrete element.
27 *
28 * @return
29 */
30 boolean isAbstract();
31
32 /***
33 * The <code>SchemaType</code>s that this type references.
34 *
35 * @return
36 */
37 Set getDependencies();
38
39 /***
40 * Write the type schema (if complex) to the element.
41 *
42 * @param element
43 */
44 void writeSchema( Element element );
45
46 /***
47 * The schema type that this SchemaType represents.
48 *
49 * @return
50 */
51 QName getSchemaType();
52 }