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 storage layer
20: * implementation. It assumes that storage layer interface has been generated elsewhere. */
21: public interface BSStorageImplementationGenerator {
22: /** Naming URL of the component */
23: public static final String COMPONENT_URL = "component:/com.metaboss.sdlctools.services.codegeneration.BSStorageImplementationGenerator";
24:
25: /** Generates storage implementation sourcecode for the particular domain within particular enterprise
26: * @param pGenerationDirectoryPath directory to generate code to
27: * @param pDomainRef domain to generate code for
28: * @param pStorageTechnologyRef storage technology to generate code for
29: */
30: public void generateImplementationSourceCodeForDomain(
31: String pGenerationDirectoryPath,
32: String pDomainRelationalStorageDefinitionRef)
33: throws BSException;
34:
35: /** Returns the name of the implementation package for use in jndi mapping
36: * @param pDomainRef domain to generate code for
37: * @param pStorageTechnologyRef storage technology to generate code for
38: */
39: public String getImplementationPackageName(
40: String pDomainRelationalStorageDefinitionRef)
41: throws BSException;
42: }
|