com.sun.xml.xsom.XSTerm Maven / Gradle / Ivy
Go to download
XML Schema Object Model (XSOM) is a Java library that allows applications to easily parse XML Schema
documents and inspect information in them. It is expected to be useful for applications that need to take XML
Schema as an input.
/*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the "License"). You may not use this file except
* in compliance with the License.
*
* You can obtain a copy of the license at
* https://jwsdp.dev.java.net/CDDLv1.0.html
* See the License for the specific language governing
* permissions and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* HEADER in each file and include the License file at
* https://jwsdp.dev.java.net/CDDLv1.0.html If applicable,
* add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your
* own identifying information: Portions Copyright [yyyy]
* [name of copyright owner]
*/
package com.sun.xml.xsom;
import com.sun.xml.xsom.visitor.XSTermFunction;
import com.sun.xml.xsom.visitor.XSTermVisitor;
import com.sun.xml.xsom.visitor.XSTermFunctionWithParam;
/**
* A component that can be referenced from {@link XSParticle}
*
* This interface provides a set of type check functions (isXXX
),
* which are essentially:
*
*
* boolean isXXX() {
* return this instanceof XXX;
* }
*
*
* and a set of cast functions (asXXX
), which are
* essentially:
*
*
* XXX asXXX() {
* if(isXXX()) return (XXX)this;
* else return null;
* }
*
*/
public interface XSTerm extends XSComponent
{
void visit( XSTermVisitor visitor );
T apply( XSTermFunction function );
T apply( XSTermFunctionWithParam function, P param );
// cast functions
boolean isWildcard();
boolean isModelGroupDecl();
boolean isModelGroup();
boolean isElementDecl();
XSWildcard asWildcard();
XSModelGroupDecl asModelGroupDecl();
XSModelGroup asModelGroup();
XSElementDecl asElementDecl();
}