| /* |
| * Copyright (c) 1997, 2022 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Distribution License v. 1.0, which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| package com.sun.xml.xsom.visitor; |
| |
| import com.sun.xml.xsom.XSAnnotation; |
| import com.sun.xml.xsom.XSAttGroupDecl; |
| import com.sun.xml.xsom.XSAttributeDecl; |
| import com.sun.xml.xsom.XSAttributeUse; |
| import com.sun.xml.xsom.XSComplexType; |
| import com.sun.xml.xsom.XSFacet; |
| import com.sun.xml.xsom.XSNotation; |
| import com.sun.xml.xsom.XSSchema; |
| import com.sun.xml.xsom.XSIdentityConstraint; |
| import com.sun.xml.xsom.XSXPath; |
| |
| /** |
| * Function object that works on the entire XML Schema components. |
| * |
| * @author |
| * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) |
| */ |
| public interface XSFunction<T> extends XSContentTypeFunction<T>, XSTermFunction<T> { |
| |
| T annotation( XSAnnotation ann ); |
| T attGroupDecl( XSAttGroupDecl decl ); |
| T attributeDecl( XSAttributeDecl decl ); |
| T attributeUse( XSAttributeUse use ); |
| T complexType( XSComplexType type ); |
| T schema( XSSchema schema ); |
| // T schemaSet( XSSchemaSet schema ); |
| T facet( XSFacet facet ); |
| T notation( XSNotation notation ); |
| T identityConstraint(XSIdentityConstraint decl); |
| T xpath(XSXPath xpath); |
| } |