코드 생성기
코드 생성기를 커스터마이징 할 수 있는 영역을 제공합니다.
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 |
클래스 주석을 작성합니다. |