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 event susbscription layer
20: * distribution layer. It assumes that event susbscription and publisers layer interface has been generated elsewhere. */
21: public interface BSEventSubscriptionDistributionGenerator {
22: /** Naming URL of the component */
23: public static final String COMPONENT_URL = "component:/com.metaboss.sdlctools.services.codegeneration.BSEventSubscriptionDistributionGenerator";
24:
25: /** Generates event susbscription distribution implementation sourcecode for the particular system within particular enterprise
26: * @param pGenerationDirectoryPath directory to generate code to
27: * @param pSystemRef system to generate code for
28: */
29: public void generateImplementationSourceCodeForSystem(
30: String pGenerationDirectoryPath, String pSystemRef)
31: throws BSException;
32:
33: /** Generates event susbscription distribution implementation sourcecode for the particular servicemodule within particular enterprise
34: * @param pGenerationDirectoryPath directory to generate code to
35: * @param pServicemoduleRef servicemodule to generate code for
36: */
37: public void generateImplementationSourceCodeForServicemodule(
38: String pGenerationDirectoryPath, String pServicemoduleRef)
39: throws BSException;
40:
41: /** Returns the name of the implementation package for distribution. This package is the
42: * root package for the package hierarchy generated by distribution generator. This hierarchy
43: * includes separate client and server packages (must be separate for use in jndi mapping).
44: * It also may include other subpackages (really depends on generator syntax)
45: * @param pServicemoduleRef servicemodule to return package name for
46: */
47: public String getImplementationPackageName(String pServicemoduleRef)
48: throws BSException;
49:
50: /** Returns the name of the client implementation package for distribution (for use in jndi mapping)
51: * client is the package offered to others as implementation of the servicemodule interface. Can be the same as server package
52: * @param pServicemoduleRef servicemodule to generate code for
53: */
54: public String getClientImplementationPackageName(
55: String pServicemoduleRef) throws BSException;
56:
57: /** Returns the name of the server implementation package for distribution (for use in jndi mapping)
58: * server is the package from which connection to the servicemodule is made. Can be the same as client package
59: * @param pServicemoduleRef servicemodule to generate code for
60: */
61: public String getServerImplementationPackageName(
62: String pServicemoduleRef) throws BSException;
63:
64: /** @return array of names of adapters, which are required by this adapter,
65: * may be null or zero length array if this proxy generator is not relying on any adapter. */
66: public String[] getRequiredAdapters() throws BSException;
67: }
|