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.visitor;
21:
22: import com.sun.xml.xsom.XSAnnotation;
23: import com.sun.xml.xsom.XSAttGroupDecl;
24: import com.sun.xml.xsom.XSAttributeDecl;
25: import com.sun.xml.xsom.XSAttributeUse;
26: import com.sun.xml.xsom.XSComplexType;
27: import com.sun.xml.xsom.XSFacet;
28: import com.sun.xml.xsom.XSNotation;
29: import com.sun.xml.xsom.XSSchema;
30: import com.sun.xml.xsom.XSIdentityConstraint;
31: import com.sun.xml.xsom.XSXPath;
32: import com.sun.xml.xsom.impl.IdentityConstraintImpl;
33: import com.sun.xml.xsom.impl.XPathImpl;
34:
35: /**
36: * Function object that works on the entire XML Schema components.
37: *
38: * @author
39: * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
40: */
41: public interface XSFunction<T> extends XSContentTypeFunction<T>,
42: XSTermFunction<T> {
43:
44: T annotation(XSAnnotation ann);
45:
46: T attGroupDecl(XSAttGroupDecl decl);
47:
48: T attributeDecl(XSAttributeDecl decl);
49:
50: T attributeUse(XSAttributeUse use);
51:
52: T complexType(XSComplexType type);
53:
54: T schema(XSSchema schema);
55:
56: // T schemaSet( XSSchemaSet schema );
57: T facet(XSFacet facet);
58:
59: T notation(XSNotation notation);
60:
61: T identityConstraint(XSIdentityConstraint decl);
62:
63: T xpath(XSXPath xpath);
64: }
|