1/*
2 * Copyright (c) 2012, 2013, 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 */
25
26package com.oracle.webservices.internal.api.databinding;
27
28import java.io.File;
29
30/**
31 * WSDLGenerator is used to generate the WSDL representation of the service
32 * endpoint interface of the parent Databinding object.
33 */
34public interface WSDLGenerator {
35
36        /**
37         * Sets the inlineSchema boolean. When the inlineSchema is true, the
38         * generated schema documents are embedded within the type element of
39         * the generated WSDL. When the inlineSchema is false, the generated
40         * schema documents are generated as standalone schema documents and
41         * imported into the generated WSDL.
42         *
43         * @param inline the inlineSchema boolean.
44         * @return
45         */
46        WSDLGenerator inlineSchema(boolean inline);
47
48        /**
49         * Sets A property of the WSDLGenerator
50         *
51         * @param name The name of the property
52         * @param value The value of the property
53         *
54     * @return this WSDLGenerator instance
55         */
56        WSDLGenerator property(String name, Object value);
57
58        /**
59         * Generates the WSDL using the wsdlResolver to output the generated
60         * documents.
61         *
62         * @param wsdlResolver The WSDLResolver
63         */
64        void generate(com.oracle.webservices.internal.api.databinding.WSDLResolver wsdlResolver);
65
66        /**
67         * Generates the WSDL into the file directory
68         *
69         * @param outputDir The output file directory
70         * @param name The file name of the main WSDL document
71         */
72        void generate(File outputDir, String name);
73}
74