| /* |
| * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| * |
| * This code is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 only, as |
| * published by the Free Software Foundation. Sun designates this |
| * particular file as subject to the "Classpath" exception as provided |
| * by Sun in the LICENSE file that accompanied this code. |
| * |
| * This code is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| * version 2 for more details (a copy is included in the LICENSE file that |
| * accompanied this code). |
| * |
| * You should have received a copy of the GNU General Public License version |
| * 2 along with this work; if not, write to the Free Software Foundation, |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| * |
| * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
| * CA 95054 USA or visit www.sun.com if you need additional information or |
| * have any questions. |
| */ |
| |
| package com.sun.xml.internal.xsom; |
| |
| import java.util.Iterator; |
| import java.util.Collection; |
| |
| /** |
| * Set of {@link XSSchema} objects. |
| * |
| * @author |
| * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) |
| */ |
| public interface XSSchemaSet |
| { |
| XSSchema getSchema(String targetNamespace); |
| XSSchema getSchema(int idx); |
| int getSchemaSize(); |
| Iterator<XSSchema> iterateSchema(); |
| |
| /** |
| * Gets all {@link XSSchema}s in a single collection. |
| */ |
| Collection<XSSchema> getSchemas(); |
| |
| XSType getType(String namespaceURI, String localName); |
| XSSimpleType getSimpleType(String namespaceURI, String localName); |
| XSAttributeDecl getAttributeDecl(String namespaceURI, String localName); |
| XSElementDecl getElementDecl(String namespaceURI, String localName); |
| XSModelGroupDecl getModelGroupDecl(String namespaceURI, String localName); |
| XSAttGroupDecl getAttGroupDecl(String namespaceURI, String localName); |
| XSComplexType getComplexType(String namespaceURI, String localName); |
| XSIdentityConstraint getIdentityConstraint(String namespaceURI, String localName); |
| |
| /** Iterates all element declarations in all the schemas. */ |
| Iterator<XSElementDecl> iterateElementDecls(); |
| /** Iterates all type definitions in all the schemas. */ |
| Iterator<XSType> iterateTypes(); |
| /** Iterates all atribute declarations in all the schemas. */ |
| Iterator<XSAttributeDecl> iterateAttributeDecls(); |
| /** Iterates all attribute group declarations in all the schemas. */ |
| Iterator<XSAttGroupDecl> iterateAttGroupDecls(); |
| /** Iterates all model group declarations in all the schemas. */ |
| Iterator<XSModelGroupDecl> iterateModelGroupDecls(); |
| /** Iterates all simple type definitions in all the schemas. */ |
| Iterator<XSSimpleType> iterateSimpleTypes(); |
| /** Iterates all complex type definitions in all the schemas. */ |
| Iterator<XSComplexType> iterateComplexTypes(); |
| /** Iterates all notation declarations in all the schemas. */ |
| Iterator<XSNotation> iterateNotations(); |
| /** |
| * Iterates all identity constraints in all the schemas. |
| */ |
| Iterator<XSIdentityConstraint> iterateIdentityConstraints(); |
| |
| // conceptually static methods |
| XSComplexType getAnyType(); |
| XSSimpleType getAnySimpleType(); |
| XSContentType getEmpty(); |
| |
| } |