코드 생성기

코드 생성기를 커스터마이징 할 수 있는 영역을 제공합니다.

1. 제공되는 커스터마이징 목록(15)

코드 생성기에서 제공되는 커스터마이징 영역 목록
기능 설명

bindBatchBeanCodeGenerator

배치 컴포넌트(Chunked, Tasklet)의 코드를 생성하는 모듈을 바인딩합니다.

bindBatchShellScriptGenerator

배치 쉘 스크립트 생성기를 바인딩합니다.

bindBatchTemplateCodeGeneratorProvider

배치 빈(Bean) 템플릿 코드 생성기를 바인딩합니다.

bindBeanCodeGenerator

새로운 Bean 마법사를 통해 생성되는 Bean의 코드를 생성하는 생성기를 바인딩합니다.

bindCodeFragmentFactory

코드 조각 팩토리를 바인딩합니다.

bindCodeFragmentProvider

소스 생성기에서 사용하는 코드 조각(Fragment)을 반환하는 제공자를 바인딩합니다.

bindCodeGeneratorExtensions

코드 생성기가 공통으로 사용하는 클래스/메소드 주석 생성 및 유틸성 코드 생성 기능을 제공하는 모듈을 바인딩합니다.

bindControllerCodeGenerator

컨트롤러 코드 생성기를 바인딩합니다.

bindDbioCodeGenerator

새로운 DBIO 마법사를 통해 생성되는 DBIO Mapper, Interface 코드를 생성하는 생성기를 바인딩합니다.

bindIVoCodeGeneratorProvider

VO Java 코드를 생성하는 생성기를 바인딩합니다.

bindIoDslCodeGenerator

새로운 IO 마법사, 설계서 가져오기 마법사, 기본 DBIO 마법사 등을 통해 생성되는 IO의 DSL 코드를 생성하는 생성기를 바인딩합니다.

bindIoJavaCodeGeneratorProvider

IO Java 코드를 생성하는 생성기를 바인딩합니다.

bindJUnitModuleTestCodeGenerator

JUnit 모듈 테스트 코드 생성기를 바인딩합니다.

bindJUnitServiceTestCodeGenerator

JUnit 서비스 테스트 코드 생성기를 바인딩합니다.

bindServiceCodeGenerator

새로운 서비스 마법사를 통해 생성되는 서비스의 코드를 생성하는 생성기를 바인딩합니다.

2. 상세

메소드의 기능을 확인하고 필요한 부분을 커스터마이징 할 수 있습니다.

2.1. bindBatchBeanCodeGenerator

배치 컴포넌트(Chunked, Tasklet)의 코드를 생성하는 모듈을 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.generator.BatchBeanCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.impl.BxmBatchBeanCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtBatchBeanCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.generator.ImportManager
                import com.bankwareglobal.ide.bxframework.core.model.MethodDeclarationModel
                import com.bankwareglobal.ide.bxframework.se.generator.BatchBeanCodeGenerator
                import com.bankwareglobal.ide.bxframework.se.model.BxmBeanDeclarationModel

                class ExtBatchBeanCodeGenerator
                extends BatchBeanCodeGenerator {
                    /**
                     * 클래스 주석을 작성합니다.
                     */
                    override protected classComment(BxmBeanDeclarationModel typeModel)'''
                        /**
                         * EXT Comment 2
                         */
                    '''

                    /**
                     * 인터페이스 내용을 작성합니다.
                     */
                    override writeInterface(BxmBeanDeclarationModel typeModel, String interfaceFullName, ImportManager importManager){
                    }

                    /**
                     * execute 메소드 내용을 작성합니다.
                     */
                    override writeExecuteMethod(
                        MethodDeclarationModel methodModel
                        , ImportManager importManager
                    )'''
                    '''

                    /**
                     * read 메소드 내용을 작성합니다.
                     */
                    override writeReadMethod(
                        MethodDeclarationModel methodModel
                        , ImportManager importManager
                    )'''
                    '''

                    /**
                     * process 메소드 내용을 작성합니다.
                     */
                    override writeProcessMethod(
                        MethodDeclarationModel methodModel
                        , ImportManager importManager
                    )'''
                    '''

                    /**
                     * write 메소드 내용을 작성합니다.
                     */
                    override writeWriteMethod(
                        MethodDeclarationModel methodModel
                        , ImportManager importManager
                    )'''
                    '''

                    /**
                     * open 메소드 내용을 작성합니다.
                     */
                    override writeOpenMethod(
                        MethodDeclarationModel methodModel
                        , ImportManager importManager
                    )'''
                        «importManager.add("org.springframework.batch.item.ExecutionContext")»
                        «importManager.add("org.springframework.batch.item.ItemStreamException")»
                        @Override
                        public void open(ExecutionContext executionContext)
                        throws ItemStreamException
                        {
                        }


                        @Override
                        public void update(ExecutionContext executionContext)
                        throws ItemStreamException{
                        }

                        @Override
                        public void close()
                        throws ItemStreamException{
                        }
                    '''
                }

4. 재구현된 메소드 목록(7)

재구현된 메소드 목록
메소드 이름 설명

classComment

클래스 주석을 작성합니다.

writeInterface

인터페이스 내용을 작성합니다.

writeExecuteMethod

execute 메소드 내용을 작성합니다.

writeReadMethod

read 메소드 내용을 작성합니다.

writeProcessMethod

process 메소드 내용을 작성합니다.

writeWriteMethod

write 메소드 내용을 작성합니다.

writeOpenMethod

open 메소드 내용을 작성합니다.

2.2. bindBatchShellScriptGenerator

배치 쉘 스크립트 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.core.batch.generator.IBatchShellScriptGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.batch.generator.BxmBatchShellScriptGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtBatchShellScriptGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.batch.generator.IBatchShellScriptGenerator
                import com.bankwareglobal.ide.bxframework.core.batch.model.BatchTypeDeclarationModel
                import com.bankwareglobal.ide.bxframework.se.utils.BxmUtils2
                import org.eclipse.xtend2.lib.StringConcatenation

                /**
                 * 배치 쉘 스크립트 생성자
                 */
                class ExtBatchShellScriptGenerator implements IBatchShellScriptGenerator {

                    /**
                     * Shell Script 내용을 작성합니다.
                     */
                    override createShellScript(BatchTypeDeclarationModel model){
                        var s= new StringConcatenation("\n")
                        s.append(_createShellScript(model))
                        s.toString;
                    }

                    private def _createShellScript(BatchTypeDeclarationModel model)'''
                        #set( $H = '#' )
                        #!/usr/bin/ksh
                        # ==================================================================================================
                        # @file             ${batch_code}.sh
                        #
                        # @dep-program
                        #
                        # @dep-infile
                        # @dep-outfile
                        #
                        # @usage
                        #
                        # @history
                        #    VERSION : NAME     : DATE     : BASED ON        : HISTORY DATA
                        #    -------   --------   --------   ---------------   -------------------------------------------
                        #    VER1.00 : FRAME    :          :                 : SHELL Template
                        #
                        # ==================================================================================================
                        # **************************************** env definition ******************************************
                        # ------------------------------------------------------------------------------------------------ #
                        #  Define to Job Info : (Application Location, Application Name, Job ID)
                        # ------------------------------------------------------------------------------------------------ #
                        «var applicationName = BxmUtils2.getApplicationName(model.project.project)»
                        APPLICATION_LOCATION=$BAT_APP_HOME/«applicationName»
                        APPLICATION_NAME=«applicationName»
                        BAT_CODE=«model.jobId»

                        # ----------------------------------------------------------------------------------------------- #
                        #  Define to Execute Environment : Define Directories and Team/Subteam Directories
                        # ----------------------------------------------------------------------------------------------- #
                        . $BAT_HOME/shl/bxmshllog

                        export SHELLNM=`basename $0`
                        export BATEXECDATE=`date +%Y%m%d`
                        export BATLOGFILE="${BAT_LOG_DIR}/${BAT_CODE}_G_${BATEXECDATE}.log"

                        # ----------------------------------------------------------------------------------------------- #
                        #  Define Shell Version
                        # ----------------------------------------------------------------------------------------------- #
                        BXM_SHL_VER=VER1

                        # ----------------------------------------------------------------------------------------------- #
                        #  Define Parameters for Batch Input (Only for Job Scheduler)
                        # ----------------------------------------------------------------------------------------------- #
                        # Example
                        #START_DATE="startDate=$1"        # Start Date (YYYYMMDD)
                        #END_DATE="endDate=$2"            # End Date (YYYYMMDD)
                        #START_BRN="startBrn=$3"          # Start Branch Office Number
                        #END_BRN="endBrn=$4"              # End Branch Office Number



                        # ----------------------------------------------------------------------------------------------- #
                        #  Define Data File Name for Using by Batch Process
                        # ----------------------------------------------------------------------------------------------- #
                        INPUT_DATA_FILE=
                        OUTPUT_DATA_FILE=

                        # ----------------------------------------------------------------------------------------------- #
                        #  Define Shell Logging for Batch Start
                        # ----------------------------------------------------------------------------------------------- #
                        BXM_HSTDSP "########################################"
                        BXM_HSTDSP "#>>    Process          START!!!"
                        BXM_HSTDSP "#>>    Process Name  :  «model.jobId».sh"
                        BXM_HSTDSP "########################################"

                        # ----------------------------------------------------------------------------------------------- #
                        #  input argument check (Example)
                        # ----------------------------------------------------------------------------------------------- #
                        # ----------- Checking Number of Input Arguments ---------#
                        if [ $# -ne 1 ]
                        then
                            echo "\nUsage : $0 START_DATE  .... \n"
                            echo "      입력구분(1:시작일자)을 입력하세요."
                            echo ""
                            BXM_USAGE_END
                        fi

                        # ------------- Checking INPUT_DATA_FILE --------------#
                        # BXM_CHECK_FILE errchk=y $INPUT_DATA_FILE

                        # ************************************* execute (sql/program) *************************************
                        # ----------------------------------------------------------------------------------------------- #
                        # Handling Exception (when error occurs during batch execution, go to BXM_CATCH function)
                        # ----------------------------------------------------------------------------------------------- #
                        BXM_CATCH()
                        {
                            # Process Result(Error) Return to Control-M
                            BXM_BAT_END
                        }

                        # ----------------------------------------------------------------------------------------------- #
                        #  Execute Batch
                        # ----------------------------------------------------------------------------------------------- #

                        BXM_BAT_INIT

                        BXM_TRY $APPLICATION_LOCATION $APPLICATION_NAME $BAT_CODE

                        # BXM_CMD Example
                        # BXM_CMD errchk=y cp $FILE_O $SHBFTP/$TEAMDIR/snd

                        # ----------------------------------------------------------------------------------------------- #
                        # Process Result Return to Control-M
                        # ----------------------------------------------------------------------------------------------- #
                        BXM_BAT_END
                        # =====================================  END OF FILE  =========================================== #
                    '''
                }

4. 재구현된 메소드 목록(2)

재구현된 메소드 목록
메소드 이름 설명

createShellScript

Shell Script 내용을 작성합니다.

_createShellScript

2.3. bindBatchTemplateCodeGeneratorProvider

배치 빈(Bean) 템플릿 코드 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.batch.generator.IBatchTemplateCodeGeneratorProvider

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.batch.generator.BxmBatchTemplateCodeGeneratorProvider

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtBatchTemplateCodeGeneratorProvider

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;

                import com.bankwareglobal.ide.bxframework.se.batch.generator.IBatchTemplateCodeGeneratorProvider;
                import com.bankwareglobal.ide.bxframework.se.batch.generator.chunk.multiWriter.MultiWriterBatchCodeGenerator;
                import com.bankwareglobal.ide.bxframework.se.batch.generator.chunk.processor.ProcessorBatchCodeGenerator;
                import com.bankwareglobal.ide.bxframework.se.batch.generator.chunk.reader.ReaderBatchCodeGenerator;
                import com.bankwareglobal.ide.bxframework.se.batch.generator.chunk.writer.WriterBatchCodeGenerator;
                import com.bankwareglobal.ide.bxframework.se.batch.generator.partitioner.PartitionerBatchCodeGenerator;
                import com.bankwareglobal.ide.bxframework.se.batch.generator.tasklet.TaskletBatchCodeGenerator;

                /**
                 * 배치 빈(Bean) 템플릿 코드 생성기
                 */
                public class ExtBatchTemplateCodeGeneratorProvider
                implements IBatchTemplateCodeGeneratorProvider
                {
                    /**
                     * Multi Writer 코드 생성기를 리턴합니다.
                     */
                    @Override
                    public MultiWriterBatchCodeGenerator createMultiWriterBatchCodeGenerator() {
                        return new MultiWriterBatchCodeGenerator();
                    }

                    /**
                     * 파티셔너 코드 생성기를 리턴합니다.
                     */
                    @Override
                    public PartitionerBatchCodeGenerator createPartitionerBatchCodeGenerator() {
                        return new PartitionerBatchCodeGenerator();
                    }

                    /**
                     * Processor 코드 생성기를 리턴합니다.
                     */
                    @Override
                    public ProcessorBatchCodeGenerator createProcessorBatchCodeGenerator() {
                        return new ProcessorBatchCodeGenerator();
                    }

                    /**
                     * Reader 코드 생성기를 리턴합니다.
                     */
                    @Override
                    public ReaderBatchCodeGenerator createReaderBatchCodeGenerator() {
                        return new ReaderBatchCodeGenerator();
                    }

                    /**
                     * Tasklet 코드 생성기를 리턴합니다.
                     */
                    @Override
                    public TaskletBatchCodeGenerator createTaskletBatchCodeGenerator() {
                        return new TaskletBatchCodeGenerator();
                    }

                    /**
                     * Writer 코드 생성기를 리턴합니다.
                     */
                    @Override
                    public WriterBatchCodeGenerator createWriterBatchCodeGenerator() {
                        return new WriterBatchCodeGenerator();
                    }
                }

4. 재구현된 메소드 목록(6)

재구현된 메소드 목록
메소드 이름 설명

createMultiWriterBatchCodeGenerator

Multi Writer 코드 생성기를 리턴합니다.

createPartitionerBatchCodeGenerator

파티셔너 코드 생성기를 리턴합니다.

createProcessorBatchCodeGenerator

Processor 코드 생성기를 리턴합니다.

createReaderBatchCodeGenerator

Reader 코드 생성기를 리턴합니다.

createTaskletBatchCodeGenerator

Tasklet 코드 생성기를 리턴합니다.

createWriterBatchCodeGenerator

Writer 코드 생성기를 리턴합니다.

2.4. bindBeanCodeGenerator

새로운 Bean 마법사를 통해 생성되는 Bean의 코드를 생성하는 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.generator.BeanCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.impl.BxmBeanCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtBeanCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.generator.ImportManager
                import com.bankwareglobal.ide.bxframework.core.model.MethodDeclarationModel
                import com.bankwareglobal.ide.bxframework.se.generator.BeanCodeGenerator
                import com.bankwareglobal.ide.bxframework.se.model.BxmBeanDeclarationModel

                class ExtBeanCodeGenerator
                extends BeanCodeGenerator
                {
                    /**
                     * 클래스 주석을 작성합니다.
                     */
                    override protected classComment(BxmBeanDeclarationModel typeModel)'''
                        /**
                         * EXT Comment 2
                         */
                    '''

                    /**
                     * Bean 메소드를 작성합니다.
                     */
                    override writeMethod(
                        MethodDeclarationModel methodModel
                        , ImportManager importManager
                    )'''
                    '''
                }

4. 재구현된 메소드 목록(2)

재구현된 메소드 목록
메소드 이름 설명

classComment

클래스 주석을 작성합니다.

writeMethod

Bean 메소드를 작성합니다.

2.4.1. bindCodeFragmentFactory

코드 조각 팩토리를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.generator.fragments.BxmCodeFragmentFactory

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.fragments.impl.DefaultBxmCodeFragmentFactory

3. 구현 예제

[ERROR] 확장 모듈에서 재정의된 메소드가 없음. 확장 모듈에서 bindCodeFragmentFactory메소드 재정의 필요.

2.5. bindCodeFragmentProvider

소스 생성기에서 사용하는 코드 조각(Fragment)을 반환하는 제공자를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.core.generator.fragments.ICodeFragmentProvider

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.BxmCodeFragmentProvider

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtCodeFragmentProvider

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;

                import com.bankwareglobal.ide.bxframework.core.documentation.Documentation;
                import com.bankwareglobal.ide.bxframework.core.generator.fragments.DummyCallCodeFragment;
                import com.bankwareglobal.ide.bxframework.se.extensions.generator.fragments.ExtDummyCallCodeFragment;
                import com.bankwareglobal.ide.bxframework.se.generator.BxmCodeFragmentProvider;

                /**
                 * 소스 생성기에서 사용하는 코드 조각(Fragment)을 반환하는 제공자
                 */
                public class ExtCodeFragmentProvider extends BxmCodeFragmentProvider {
                    /**
                    * 메소드 호출 코드를 생성하는 코드 Fragment를 반환합니다.
                    */
                    @Override
                    public DummyCallCodeFragment createDummyCallCodeFragment(String callTypeCode, String description,
                            String calleeFullName, String methodName, String beanName) {
                        return new ExtDummyCallCodeFragment(callTypeCode, description, calleeFullName, methodName, beanName);
                    }
                }

4. 재구현된 메소드 목록(1)

재구현된 메소드 목록
메소드 이름 설명

createDummyCallCodeFragment

메소드 호출 코드를 생성하는 코드 Fragment를 반환합니다.

2.6. bindCodeGeneratorExtensions

코드 생성기가 공통으로 사용하는 클래스/메소드 주석 생성 및 유틸성 코드 생성 기능을 제공하는 모듈을 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.generator.BxmCodeGeneratorExtensions

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.impl.BxmCodeGeneratorExtensionsImpl

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtCodeGeneratorExtensions

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.generator.ImportManager
                import com.bankwareglobal.ide.bxframework.core.model.MethodDeclarationModel
                import com.bankwareglobal.ide.bxframework.core.model.TypeDeclarationModel
                import com.bankwareglobal.ide.bxframework.se.generator.BxmCodeGeneratorExtensions

                /**
                 * 코드 생성기가 공통으로 사용하는 클래스/메소드 주석 생성 및 유틸성 코드 생성 기능을 제공하는 모듈
                 */
                class ExtCodeGeneratorExtensions
                extends BxmCodeGeneratorExtensions {

                    /**
                     * 클래스 주석을 작성합니다.
                     */
                    override writeClassComment(TypeDeclarationModel typeModel, ImportManager importManager)'''
                        /**
                          * Class Comment
                          */
                    '''

                    /**
                     * 메소드 주석을 작성합니다.
                     */
                    override writeMethodComment(MethodDeclarationModel methodModel, ImportManager importManager)'''
                        /**
                          * Method Comment
                          */
                    '''}

4. 재구현된 메소드 목록(2)

재구현된 메소드 목록
메소드 이름 설명

writeClassComment

클래스 주석을 작성합니다.

writeMethodComment

메소드 주석을 작성합니다.

2.7. bindControllerCodeGenerator

컨트롤러 코드 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.core.generator.ControllerCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.BxmControllerCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtControllerCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.se.generator.BxmControllerCodeGenerator

                /**
                 * 컨트롤러 코드 생성기
                 */
                class ExtControllerCodeGenerator extends BxmControllerCodeGenerator {

                }

4. 재구현된 메소드 목록(0)

2.8. bindDbioCodeGenerator

새로운 DBIO 마법사를 통해 생성되는 DBIO Mapper, Interface 코드를 생성하는 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.generator.DbioCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.impl.BxmDbioCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtDbioCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.dbio.model.DbioTypeDeclarationModel
                import com.bankwareglobal.ide.bxframework.se.generator.DbioCodeGenerator
                import java.text.SimpleDateFormat
                import java.util.Date

                class ExtDbioCodeGenerator
                extends DbioCodeGenerator {

                    /**
                     * Mapper 주석을 작성합니다.
                     */
                    override writeMapperComment(DbioTypeDeclarationModel typeModel) '''
                        «var date= new SimpleDateFormat("yyyy. MM. dd.").format(new Date(System.currentTimeMillis()))»
                        <!--EXT Generated «date»-->
                    '''

                }

4. 재구현된 메소드 목록(1)

재구현된 메소드 목록
메소드 이름 설명

writeMapperComment

Mapper 주석을 작성합니다.

2.9. bindIVoCodeGeneratorProvider

VO Java 코드를 생성하는 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.core.vo.generator.provider.IVoCodeGeneratorProvider

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.extensions.impl.BxmDefaultVoCodeGeneratorProvider

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtDefaultVoCodeGeneratorProvider

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;

                import com.bankwareglobal.ide.bxframework.core.vo.generator.VoCodeGenerator;
                import com.bankwareglobal.ide.bxframework.core.vo.generator.provider.IVoCodeGeneratorProvider;
                import com.bankwareglobal.ide.bxframework.se.generator.BxmVoCodeGenerator;

                /**
                 * VO Java 코드 생성기 제공자
                 */
                public class ExtDefaultVoCodeGeneratorProvider implements IVoCodeGeneratorProvider {

                    /**
                     * provider 의 Id 를 리턴합니다.
                     */
                    @Override
                    public String getId() {
                        return "ext.voCodeGeneratorProvider";
                    }

                    /**
                     * VO 코드 생성기를 리턴합니다.
                     */
                    @Override
                    public VoCodeGenerator createCodeGenerator() {
                        return new BxmVoCodeGenerator();
                    }
                }

4. 재구현된 메소드 목록(2)

재구현된 메소드 목록
메소드 이름 설명

getId

provider 의 Id 를 리턴합니다.

createCodeGenerator

VO 코드 생성기를 리턴합니다.

2.10. bindIoDslCodeGenerator

새로운 IO 마법사, 설계서 가져오기 마법사, 기본 DBIO 마법사 등을 통해 생성되는 IO의 DSL 코드를 생성하는 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.core.io.IoDslCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.impl.BxmIoDslCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtIoDslCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.io.IODeclarationModel
                import com.bankwareglobal.ide.bxframework.core.io.IoDslCodeGenerator

                class ExtIoDslCodeGenerator
                extends IoDslCodeGenerator {

                    /**
                     * IO DSL 코드 내용을 작성합니다.
                     */
                    override generate(IODeclarationModel typeModel) '''
                        «super.generate(typeModel)»
                    '''
                }

4. 재구현된 메소드 목록(1)

재구현된 메소드 목록
메소드 이름 설명

generate

IO DSL 코드 내용을 작성합니다.

2.11. bindIoJavaCodeGeneratorProvider

IO Java 코드를 생성하는 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.generator.IoJavaCodeGeneratorProvider

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.impl.BxmIoJavaCodeGeneratorProvider

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtIoJavaCodeGeneratorProvider

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl;

                import com.bankwareglobal.ide.bxframework.se.generator.IoJavaCodeGenerator;
                import com.bankwareglobal.ide.bxframework.se.generator.IoJavaCodeGeneratorProvider;

                public class ExtIoJavaCodeGeneratorProvider
                implements IoJavaCodeGeneratorProvider {

                    /**
                     * IO Java 코드 생성기를 반환합니다.
                     */
                    @Override
                    public Class<? extends IoJavaCodeGenerator> getCodeGenerator() {
                        return ExtIoJavaCodeGenerator.class;
                    }
                }

4. 재구현된 메소드 목록(1)

재구현된 메소드 목록
메소드 이름 설명

getCodeGenerator

IO Java 코드 생성기를 반환합니다.

2.12. bindJUnitModuleTestCodeGenerator

JUnit 모듈 테스트 코드 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.tester.junit.generator JUnitModuleTestCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.tester.junit.generator.impl.DefaultJUnitModuleTestCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtJUnitModuleTestCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.generator.ImportManager
                import com.bankwareglobal.ide.bxframework.se.tester.junit.generator.JUnitModuleTestCodeGenerator
                import com.bankwareglobal.ide.bxframework.se.tester.junit.generator.Options

                /**
                 * JUnit 모듈 테스트 코드 생성기
                 */
                class ExtJUnitModuleTestCodeGenerator
                extends JUnitModuleTestCodeGenerator
                {
                    /**
                     * JUnit 모듈 테스트 코드의 Super 클래스를 반환합니다.
                     */
                    override protected getSuperClassName(ImportManager importManager) {
                    }

                    /**
                     * getEtcResponseHeaderClassList 메소드 내용을 작성합니다.
                     */
                    override protected writeGetEtcResponseHeaderClassList(Options options, ImportManager importManager)'''
                        «/** ignore */»
                    '''

                    /**
                     * getHeaderClass 메소드 내용을 작성합니다.
                     */
                    override protected writeGetHeaderClass(String headerClassFullName, ImportManager importManager)'''
                        «/** ignore */»
                    '''

                    /**
                     * Generic 사용 여부를 반환합니다.
                     */
                    override protected isGeneric() {
                        false;
                    }
                }

4. 재구현된 메소드 목록(4)

재구현된 메소드 목록
메소드 이름 설명

getSuperClassName

JUnit 모듈 테스트 코드의 Super 클래스를 반환합니다.

writeGetEtcResponseHeaderClassList

getEtcResponseHeaderClassList 메소드 내용을 작성합니다.

writeGetHeaderClass

getHeaderClass 메소드 내용을 작성합니다.

isGeneric

Generic 사용 여부를 반환합니다.

2.13. bindJUnitServiceTestCodeGenerator

JUnit 서비스 테스트 코드 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.tester.junit.generator.JUnitServiceTestCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.tester.junit.generator.impl.DefaultJUnitServiceTestCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtJUnitServiceTestCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.generator.ImportManager
                import com.bankwareglobal.ide.bxframework.se.tester.junit.generator.Options
                import com.bankwareglobal.ide.bxframework.se.tester.junit.generator.JUnitServiceTestCodeGenerator

                /**
                 * JUnit 서비스 테스트 코드 생성기
                 */
                class ExtJUnitServiceTestCodeGenerator
                extends JUnitServiceTestCodeGenerator {

                    /**
                     * JUnit 서비스 테스트 코드의 Super 클래스를 반환합니다.
                     */
                    override protected getSuperClassName(ImportManager importManager) {
                        super.getSuperClassName(importManager)
                    }

                    /**
                     * getEtcResponseHeaderClassList 메소드 내용을 작성합니다.
                     */
                    override protected writeGetEtcResponseHeaderClassList(Options options, ImportManager importManager)'''
                        «/** ignore */»
                    '''

                    /**
                     * getHeaderClass 메소드 내용을 작성합니다.
                     */
                    override protected writeGetHeaderClass(String headerClassFullName, ImportManager importManager)'''
                        «/** ignore */»
                    '''

                    /**
                     * Generic 사용 여부를 반환합니다.
                     */
                    override protected isGeneric() {
                        false;
                    }
                }

4. 재구현된 메소드 목록(4)

재구현된 메소드 목록
메소드 이름 설명

getSuperClassName

JUnit 서비스 테스트 코드의 Super 클래스를 반환합니다.

writeGetEtcResponseHeaderClassList

getEtcResponseHeaderClassList 메소드 내용을 작성합니다.

writeGetHeaderClass

getHeaderClass 메소드 내용을 작성합니다.

isGeneric

Generic 사용 여부를 반환합니다.

2.14. bindServiceCodeGenerator

새로운 서비스 마법사를 통해 생성되는 서비스의 코드를 생성하는 생성기를 바인딩합니다.

1. 인터페이스 및 클래스

모듈이 반드시 구현 해야하는 인터페이스 또는 상속 해야하는 클래스입니다.

com.bankwareglobal.ide.bxframework.se.generator.ServiceCodeGenerator

2. 기본 구현 클래스

해당 기능을 위해 구현된 기본 클래스입니다. 인터페이스 및 클래스에서 필요한 기본 기능이 구현되어있으며 모듈을 확장할 경우 이 클래스를 상속 받아서 구현할 수 있습니다.

com.bankwareglobal.ide.bxframework.se.generator.impl.BxmServiceCodeGenerator

3. 구현 예제

com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl.ExtServiceCodeGenerator

                package com.bankwareglobal.ide.bxframework.se.extensions.overriding.impl

                import com.bankwareglobal.ide.bxframework.core.generator.ImportManager
                import com.bankwareglobal.ide.bxframework.se.generator.ServiceCodeGenerator
                import com.bankwareglobal.ide.bxframework.se.model.BxmServiceDeclarationModel
                import com.bankwareglobal.ide.bxframework.se.model.BxmServiceOperationDeclarationModel

                class ExtServiceCodeGenerator
                extends ServiceCodeGenerator
                {
                    /**
                     * 서비스 메소드를 작성합니다.
                     */
                    override writeMethod(
                        BxmServiceOperationDeclarationModel methodModel
                        , ImportManager importManager
                    )'''
                        // 메소드를 작성합니다.
                    '''

                    /**
                     * 클래스 주석을 작성합니다.
                     */
                    override protected classComment(
                        BxmServiceDeclarationModel typeModel
                    )'''
                        /**
                         * EXT Comment 2
                         */
                    '''
                }

4. 재구현된 메소드 목록(2)

재구현된 메소드 목록
메소드 이름 설명

writeMethod

서비스 메소드를 작성합니다.

classComment

클래스 주석을 작성합니다.

Copyright© Bankwareglobal All Rights Reserved.