01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.etl.codegen;
20:
21: import com.sun.sql.framework.exception.BaseException;
22:
23: /**
24: * This allows us to plug-in different strategy as appropriate to optimize process flow;
25: * that will best fit for a given scenario.
26: *
27: * @author Ahimanikya Satapathy
28: * @version $Revision$
29: */
30: public interface ETLStrategyBuilder {
31:
32: public static final int EXEC_MODE_SIMPLE = 1; // All source and target in same Database
33: public static final int EXEC_MODE_STAGING = 2; // Sources are copied to temp table on target DB
34: public static final int EXEC_MODE_ONE_PASS = 3; // All src are in same DB but different than Tgt
35: public static final int EXEC_MODE_PIPELINE = 4; // All src are in same DB but different than Tgt
36:
37: public void setETLScriptBuilderModel(ETLScriptBuilderModel model);
38:
39: public void generateScriptForTable(ETLStrategyBuilderContext context)
40: throws BaseException;
41:
42: public String getScriptToDisplay(ETLStrategyBuilderContext context)
43: throws BaseException;
44: }
|