src/share/jaxws_classes/com/sun/xml/internal/xsom/XSSchema.java

Wed, 27 Apr 2016 01:27:09 +0800

author
aoqi
date
Wed, 27 Apr 2016 01:27:09 +0800
changeset 0
373ffda63c9a
permissions
-rw-r--r--

Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/jaxws/
changeset: 657:d47a47f961ee
tag: jdk8u25-b17

     1 /*
     2  * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    26 package com.sun.xml.internal.xsom;
    28 import com.sun.xml.internal.xsom.parser.SchemaDocument;
    30 import java.util.Iterator;
    31 import java.util.Map;
    33 /**
    34  * Schema.
    35  *
    36  * Container of declarations that belong to the same target namespace.
    37  *
    38  * @author
    39  *  Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
    40  */
    41 public interface XSSchema extends XSComponent
    42 {
    43     /**
    44      * Gets the target namespace of the schema.
    45      *
    46      * @return
    47      *      can be empty, but never be null.
    48      */
    49     String getTargetNamespace();
    51     /**
    52      * Gets all the {@link XSAttributeDecl}s in this schema
    53      * keyed by their local names.
    54      */
    55     Map<String,XSAttributeDecl> getAttributeDecls();
    56     Iterator<XSAttributeDecl> iterateAttributeDecls();
    57     XSAttributeDecl getAttributeDecl(String localName);
    59     /**
    60      * Gets all the {@link XSElementDecl}s in this schema.
    61      */
    62     Map<String,XSElementDecl> getElementDecls();
    63     Iterator<XSElementDecl> iterateElementDecls();
    64     XSElementDecl getElementDecl(String localName);
    66     /**
    67      * Gets all the {@link XSAttGroupDecl}s in this schema.
    68      */
    69     Map<String,XSAttGroupDecl> getAttGroupDecls();
    70     Iterator<XSAttGroupDecl> iterateAttGroupDecls();
    71     XSAttGroupDecl getAttGroupDecl(String localName);
    73     /**
    74      * Gets all the {@link XSModelGroupDecl}s in this schema.
    75      */
    76     Map<String,XSModelGroupDecl> getModelGroupDecls();
    77     Iterator<XSModelGroupDecl> iterateModelGroupDecls();
    78     XSModelGroupDecl getModelGroupDecl(String localName);
    80     /**
    81      * Gets all the {@link XSType}s in this schema (union of
    82      * {@link #getSimpleTypes()} and {@link #getComplexTypes()}
    83      */
    84     Map<String,XSType> getTypes();
    85     Iterator<XSType> iterateTypes();
    86     XSType getType(String localName);
    88     /**
    89      * Gets all the {@link XSSimpleType}s in this schema.
    90      */
    91     Map<String,XSSimpleType> getSimpleTypes();
    92     Iterator<XSSimpleType> iterateSimpleTypes();
    93     XSSimpleType getSimpleType(String localName);
    95     /**
    96      * Gets all the {@link XSComplexType}s in this schema.
    97      */
    98     Map<String,XSComplexType> getComplexTypes();
    99     Iterator<XSComplexType> iterateComplexTypes();
   100     XSComplexType getComplexType(String localName);
   102     /**
   103      * Gets all the {@link XSNotation}s in this schema.
   104      */
   105     Map<String,XSNotation> getNotations();
   106     Iterator<XSNotation> iterateNotations();
   107     XSNotation getNotation(String localName);
   109     /**
   110      * Gets all the {@link XSIdentityConstraint}s in this schema,
   111      * keyed by their names.
   112      */
   113     Map<String,XSIdentityConstraint> getIdentityConstraints();
   115     /**
   116      * Gets the identity constraint of the given name, or null if not found.
   117      */
   118     XSIdentityConstraint getIdentityConstraint(String localName);
   120     /**
   121      * Sine an {@link XSSchema} is not necessarily defined in
   122      * one schema document (for example one schema can span across
   123      * many documents through &lt;xs:include>s.),
   124      * so this method always returns null.
   125      *
   126      * @deprecated
   127      *      Since this method always returns null, if you are calling
   128      *      this method from {@link XSSchema} and not from {@link XSComponent},
   129      *      there's something wrong with your code.
   130      */
   131     SchemaDocument getSourceDocument();
   133     /**
   134      * Gets the root schema set that includes this schema.
   135      *
   136      * @return never null.
   137      */
   138     XSSchemaSet getRoot();
   139 }

mercurial