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 com.sun.xml.xsom.visitor.XSContentTypeFunction;
23: import com.sun.xml.xsom.visitor.XSContentTypeVisitor;
24:
25: /**
26: * Content of a complex type.
27: *
28: * @author
29: * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
30: */
31: public interface XSContentType extends XSComponent {
32: /**
33: * Equivalent of <code>(this instanceof XSSimpleType)?this:null</code>
34: */
35: XSSimpleType asSimpleType();
36:
37: /**
38: * Equivalent of <code>(this instanceof XSParticle)?this:null</code>
39: */
40: XSParticle asParticle();
41:
42: /**
43: * If this content type represents the empty content, return <code>this</code>,
44: * otherwise null.
45: */
46: XSContentType asEmpty();
47:
48: <T> T apply(XSContentTypeFunction<T> function);
49:
50: void visit(XSContentTypeVisitor visitor);
51: }
|