325N/A/*
325N/A * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
325N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
325N/A *
325N/A * This code is free software; you can redistribute it and/or modify it
325N/A * under the terms of the GNU General Public License version 2 only, as
325N/A * published by the Free Software Foundation. Oracle designates this
325N/A * particular file as subject to the "Classpath" exception as provided
325N/A * by Oracle in the LICENSE file that accompanied this code.
325N/A *
325N/A * This code is distributed in the hope that it will be useful, but WITHOUT
325N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
325N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
325N/A * version 2 for more details (a copy is included in the LICENSE file that
325N/A * accompanied this code).
325N/A *
325N/A * You should have received a copy of the GNU General Public License version
325N/A * 2 along with this work; if not, write to the Free Software Foundation,
325N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
325N/A *
325N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
325N/A * or visit www.oracle.com if you need additional information or have any
325N/A * questions.
325N/A */
325N/A
325N/Apackage com.sun.xml.internal.ws.wsdl.writer;
325N/A
325N/Aimport com.sun.istack.internal.NotNull;
325N/Aimport com.sun.xml.internal.txw2.TypedXmlWriter;
325N/Aimport com.sun.xml.internal.ws.api.model.CheckedException;
325N/Aimport com.sun.xml.internal.ws.api.model.JavaMethod;
325N/Aimport com.sun.xml.internal.ws.api.wsdl.writer.WSDLGenExtnContext;
325N/Aimport com.sun.xml.internal.ws.api.wsdl.writer.WSDLGeneratorExtension;
325N/A
325N/A/**
325N/A * {@link WSDLGeneratorExtension} that delegates to
325N/A * multiple {@link WSDLGeneratorExtension}s.
325N/A *
325N/A * <p>
325N/A * This simplifies {@link WSDLGenerator} since it now
325N/A * only needs to work with one {@link WSDLGeneratorExtension}.
325N/A *
325N/A *
325N/A * @author Doug Kohlert
325N/A */
325N/Afinal class WSDLGeneratorExtensionFacade extends WSDLGeneratorExtension {
325N/A private final WSDLGeneratorExtension[] extensions;
325N/A
325N/A WSDLGeneratorExtensionFacade(WSDLGeneratorExtension... extensions) {
325N/A assert extensions!=null;
325N/A this.extensions = extensions;
325N/A }
325N/A
325N/A public void start(WSDLGenExtnContext ctxt) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.start(ctxt);
325N/A }
325N/A
325N/A public void end(@NotNull WSDLGenExtnContext ctxt) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.end(ctxt);
325N/A }
325N/A
325N/A public void addDefinitionsExtension(TypedXmlWriter definitions) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addDefinitionsExtension(definitions);
325N/A }
325N/A
325N/A public void addServiceExtension(TypedXmlWriter service) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addServiceExtension(service);
325N/A }
325N/A
325N/A public void addPortExtension(TypedXmlWriter port) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addPortExtension(port);
325N/A }
325N/A
325N/A public void addPortTypeExtension(TypedXmlWriter portType) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addPortTypeExtension(portType);
325N/A }
325N/A
325N/A public void addBindingExtension(TypedXmlWriter binding) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addBindingExtension(binding);
325N/A }
325N/A
325N/A public void addOperationExtension(TypedXmlWriter operation, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addOperationExtension(operation, method);
325N/A }
325N/A
325N/A public void addBindingOperationExtension(TypedXmlWriter operation, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addBindingOperationExtension(operation, method);
325N/A }
325N/A
325N/A public void addInputMessageExtension(TypedXmlWriter message, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addInputMessageExtension(message, method);
325N/A }
325N/A
325N/A public void addOutputMessageExtension(TypedXmlWriter message, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addOutputMessageExtension(message, method);
325N/A }
325N/A
325N/A public void addOperationInputExtension(TypedXmlWriter input, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addOperationInputExtension(input, method);
325N/A }
325N/A
325N/A public void addOperationOutputExtension(TypedXmlWriter output, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addOperationOutputExtension(output, method);
325N/A }
325N/A
325N/A public void addBindingOperationInputExtension(TypedXmlWriter input, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addBindingOperationInputExtension(input, method);
325N/A }
325N/A
325N/A public void addBindingOperationOutputExtension(TypedXmlWriter output, JavaMethod method) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addBindingOperationOutputExtension(output, method);
325N/A }
325N/A
325N/A public void addBindingOperationFaultExtension(TypedXmlWriter fault, JavaMethod method, CheckedException ce) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addBindingOperationFaultExtension(fault, method, ce);
325N/A }
325N/A
325N/A public void addFaultMessageExtension(TypedXmlWriter message, JavaMethod method, CheckedException ce) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addFaultMessageExtension(message, method, ce);
325N/A }
325N/A
325N/A public void addOperationFaultExtension(TypedXmlWriter fault, JavaMethod method, CheckedException ce) {
325N/A for (WSDLGeneratorExtension e : extensions)
325N/A e.addOperationFaultExtension(fault, method, ce);
325N/A }
325N/A}