src/share/jaxws_classes/com/sun/tools/internal/ws/wsdl/parser/AbstractExtensionHandler.java

Thu, 31 Aug 2017 15:18:52 +0800

author
aoqi
date
Thu, 31 Aug 2017 15:18:52 +0800
changeset 637
9c07ef4934dd
parent 368
0989ad8c0860
parent 0
373ffda63c9a
permissions
-rw-r--r--

merge

     1 /*
     2  * Copyright (c) 1997, 2012, 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.tools.internal.ws.wsdl.parser;
    28 import com.sun.tools.internal.ws.api.wsdl.TWSDLExtensible;
    29 import com.sun.tools.internal.ws.api.wsdl.TWSDLExtensionHandler;
    30 import com.sun.tools.internal.ws.api.wsdl.TWSDLParserContext;
    31 import com.sun.tools.internal.ws.wsdl.document.mime.MIMEConstants;
    32 import org.w3c.dom.Element;
    34 import java.util.Collections;
    35 import java.util.Map;
    37 /**
    38  * An abstract implementation class of {@link TWSDLExtensionHandler}
    39  *
    40  * @author Vivek Pandey
    41  */
    42 public abstract class AbstractExtensionHandler extends TWSDLExtensionHandler {
    43     private final Map<String, AbstractExtensionHandler> extensionHandlers;
    44     private final Map<String, AbstractExtensionHandler> unmodExtenHandlers;
    46     public AbstractExtensionHandler(Map<String, AbstractExtensionHandler> extensionHandlerMap) {
    47         this.extensionHandlers = extensionHandlerMap;
    48         this.unmodExtenHandlers = Collections.unmodifiableMap(extensionHandlers);
    49     }
    51     public Map<String, AbstractExtensionHandler> getExtensionHandlers(){
    52         return unmodExtenHandlers;
    53     }
    55     /**
    56      * Callback that gets called by the WSDL parser or any other extension handler on finding an extensibility element
    57      * that it can't understand.
    58      *
    59      * @param parent  The Parent element within which the extensibility element is defined
    60      * @param e       The extensibility elemenet
    61      * @return false if there was some error during the extension handling otherwise returns true. If returned false
    62      *         then the WSDL parser can abort if the wsdl extensibility element had <code>required</code> attribute set to true
    63      */
    64     public boolean doHandleExtension(TWSDLParserContext context, TWSDLExtensible parent, Element e) {
    65         if (parent.getWSDLElementName().equals(MIMEConstants.QNAME_PART)) {
    66             return handleMIMEPartExtension(context, parent, e);
    67         } else {
    68             return super.doHandleExtension(context, parent, e);
    69         }
    70     }
    72     /**
    73      * Callback for <code>wsdl:mime</code>
    74      *
    75      * @param context Parser context that will be passed on by the wsdl parser
    76      * @param parent  The Parent element within which the extensibility element is defined
    77      * @param e       The extensibility elemenet
    78      * @return false if there was some error during the extension handling otherwise returns true. If returned false
    79      *         then the WSDL parser can abort if the wsdl extensibility element had <code>required</code> attribute set to true
    80      */
    81     protected boolean handleMIMEPartExtension(TWSDLParserContext context, TWSDLExtensible parent, Element e){
    82         return false;
    83     }
    84 }

mercurial