01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.sdlctools.services.codegeneration;
16:
17: import com.metaboss.enterprise.bs.BSException;
18:
19: /** This interface offers operations dealing with code generation of the servicemodule
20: * adapters layer. Adapter is a mechanism translating the offerings of java interface to
21: * some technology other than ordinary Java. This generator should
22: * assume that servicemodule layer interface has been generated elsewhere and can be obtained via
23: * JNDI lookup. */
24: public interface BSAdapterGenerator {
25: /** Naming URL of the component */
26: public static final String COMPONENT_URL = "component:/com.metaboss.sdlctools.services.codegeneration.BSAdapterGenerator";
27:
28: /** Generates servicemodule adapter implementation sourcecode for the particular servicemodule within particular enterprise
29: * @param pGenerationDirectoryPath directory to generate code to
30: * @param pServicemoduleRef servicemodule to generate code for
31: */
32: public void generateSourceCodeForServicemodule(
33: String pGenerationDirectoryPath, String pServicemoduleRef)
34: throws BSException;
35:
36: /** Returns the package name where adapter code for services is generated to.
37: * @param pServicemoduleRef servicemodule the adapter associated with */
38: public String getPackageNameForServicemoduleServices(
39: String pServicemoduleRef) throws BSException;
40:
41: /** Returns the package name where adapter code for event publishers is generated to.
42: * @param pServicemoduleRef servicemodule the adapter associated with */
43: public String getPackageNameForServicemoduleEventPublishers(
44: String pServicemoduleRef) throws BSException;
45:
46: /** Generates data dictionary adapter implementation sourcecode for the particular data dictionary
47: * @param pGenerationDirectoryPath directory to generate code to
48: * @param pDataDictionaryRef identifier of the datadictionary to generate the code for
49: */
50: public void generateSourceCodeForDataDictionary(
51: String pGenerationDirectoryPath, String pDataDictionaryRef)
52: throws BSException;
53:
54: /** Returns the list of package names where data dictionary adapter code is generated to
55: * @param pDataDictionaryRef identifier of the datadictionary to generate the code for
56: */
57: public String getPackageNameForDataDictionary(
58: String pDataDictionaryRef) throws BSException;
59:
60: /** @return array of names of adapters, which are required by this adapter,
61: * may be zero length array if this adapter is not relying on any other one. */
62: public String[] getRequiredAdapters() throws BSException;
63: }
|