프로젝트 생성

프로젝트 생성에서 커스터마이징 할 수 있는 영역을 제공합니다.

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

프로젝트 생성에서 제공되는 커스터마이징 영역 목록
기능 설명

bindGradleProjectResourceGeneratorProvider

프로젝트 생성 마법사로 프로젝트를 생성할 때 필요한 Gradle 자원을 생성하는 모듈을 제공하는 제공자를 바인딩합니다.

bindNewProjectExtension

프로젝트 생성 마법사로 프로젝트를 생성할 때 함께 생성할 기본 패키지 목록, 프로젝트 생성 전/후 처리등의 모듈을 제공하는 확장기능을 바인딩합니다.

2. 상세

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

2.1. bindGradleProjectResourceGeneratorProvider

프로젝트 생성 마법사로 프로젝트를 생성할 때 필요한 Gradle 자원을 생성하는 모듈을 제공하는 제공자를 바인딩합니다.

1. 인터페이스 및 클래스

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

com.bankwareglobal.ide.bxframework.se.project.IBxmGradleProjectResourceGeneratorProvider

2. 기본 구현 클래스

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

com.bankwareglobal.ide.bxframework.se.project.generator.impl.BxmGradleProjectResourceGeneratorProvider

3. 구현 예제

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

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

                import com.bankwareglobal.ide.bxframework.core.documentation.Documentation;
                import com.bankwareglobal.ide.bxframework.se.extensions.generator.ExtGradleProjectResourceGenerator_7_6;
                import com.bankwareglobal.ide.bxframework.se.project.generator.impl.BxmGradleProjectResourceGenerator;
                import com.bankwareglobal.ide.bxframework.se.project.generator.impl.BxmGradleProjectResourceGeneratorProvider;

                /**
                 * 프로젝트 생성 마법사로 프로젝트를 생성할 때 필요한 Gradle 자원을 생성하는 모듈을 제공자
                 */
                public class ExtGradleProjectResourceGeneratorProvider extends BxmGradleProjectResourceGeneratorProvider {
                    /**
                    * Gradle 배포버전 7.6에 해당하는 자원 생성기를 반환합니다.
                    */
                    @Override
                    protected BxmGradleProjectResourceGenerator createFor_7_6() {
                        return new ExtGradleProjectResourceGenerator_7_6();
                    }
                }

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

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

createFor_7_6

Gradle 배포버전 7.6에 해당하는 자원 생성기를 반환합니다.

2.2. bindNewProjectExtension

프로젝트 생성 마법사로 프로젝트를 생성할 때 함께 생성할 기본 패키지 목록, 프로젝트 생성 전/후 처리등의 모듈을 제공하는 확장기능을 바인딩합니다.

1. 인터페이스 및 클래스

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

com.bankwareglobal.ide.bxframework.core.project.INewProjectExtension

2. 기본 구현 클래스

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

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

3. 구현 예제

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

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

                import java.util.List;

                import org.eclipse.jdt.core.IJavaProject;
                import org.eclipse.swt.widgets.Shell;

                import com.bankwareglobal.ide.bxframework.core.constants.ProjectType;
                import com.bankwareglobal.ide.bxframework.core.model.AbstractProjectModel;
                import com.bankwareglobal.ide.bxframework.core.project.INewProjectExtension;
                import com.bankwareglobal.ide.bxframework.core.project.NameSelectorDialog;
                import com.bankwareglobal.ide.bxframework.core.project.PackageSet;
                import com.bankwareglobal.ide.commons.utils.StringUtils;
                import com.google.common.collect.Lists;

                public class ExtNewProjectExtension
                implements INewProjectExtension
                {
                    /**
                     * 프로젝트 생성 마법사에서 프로젝트 이름을 선택하는 다이얼로그를 반환합니다.
                     */
                    @Override
                    public NameSelectorDialog createNameSelectDialog(
                            Shell shell
                            , ProjectType projectType
                            ) {
                        return null;
                    }

                    /**
                     * 프로젝트 생성 마법사에서 프로젝트 이름을 선택하는 다이얼로그 팝업 여부를 반환합니다.
                     */
                    @Override
                    public boolean useNameSelector() {
                        return false;
                    }

                    /**
                     * 프로젝트 생성 마법사를 통해 프로젝트 생성 시, src 또는 src/main/java 등에 생성할 패키지 목록을 반환합니다.
                     */
                    @Override
                    public List<PackageSet> getSourceMainJavaPackageSet(AbstractProjectModel projectModel) {
                        String packagePrefix= StringUtils.nvl(projectModel.getProjectCode(), "bxm.ide.extensions");

                        return Lists.newArrayList(
                                new PackageSet(StringUtils.merge(".", packagePrefix, "service"), "서비스")
                                , new PackageSet(StringUtils.merge(".", packagePrefix, "service.dto"), "서비스 DTO")
                                , new PackageSet(StringUtils.merge(".", packagePrefix, "bean"), "Bean")
                                , new PackageSet(StringUtils.merge(".", packagePrefix, "bean.dto"), "Bean DTO")
                                , new PackageSet(StringUtils.merge(".", packagePrefix, "dbio"), "DBIO")
                                , new PackageSet(StringUtils.merge(".", packagePrefix, "dbio.dto"), "DBIO DTO")
                                , new PackageSet(StringUtils.merge(".", packagePrefix, "utils"), "기타 클래스")
                                , new PackageSet(StringUtils.merge(".", packagePrefix, "inf.dto"), "인터페이스 DTO")
                                );
                    }

                    /**
                     * 프로젝트 생성 마법사를 통해 프로젝트 생성 시, src/resource 또는 src/main/resource 등에 생성할 패키지 목록을 반환합니다.
                     */
                    @Override
                    public List<PackageSet> getSourceMainResourcePackageSet(AbstractProjectModel projectModel) {
                        return Lists.newArrayList();
                    }

                    /**
                     * 프로젝트 생성 마법사를 통해 프로젝트 생성 시, src-gen 또는 src/gen/java 등에 생성할 패키지 목록을 반환합니다.
                     */
                    @Override
                    public List<PackageSet> getSourceGenJavaPackageSet(AbstractProjectModel projectModel) {
                        return Lists.newArrayList();
                    }

                    /**
                     * 프로젝트 생성 마법사를 통해 프로젝트 생성 시, test 또는 src/test/java 등에 생성할 패키지 목록을 반환합니다.
                     */
                    @Override
                    public List<PackageSet> getSourceTestJavaPackageSet(AbstractProjectModel projectModel) {
                        return Lists.newArrayList();
                    }

                    /**
                     * 프로젝트 생성 마법사를 통해 프로젝트 생성 시, src/test/resource 등에 생성할 패키지 목록을 반환합니다.
                     */
                    @Override
                    public List<PackageSet> getSourceTestResourcePackageSet(AbstractProjectModel projectModel) {
                        return Lists.newArrayList();
                    }

                    /**
                     * 프로젝트 생성 마법사를 통해 프로젝트를 생성 전 생성 작업을 작성합니다.
                     * @param javaProject
                     */
                    @Override
                    public void doBeforeCreation(AbstractProjectModel projectModel) {
                    }

                    /**
                     * 프로젝트 생성 마법사를 통해 프로젝트를 생성 후 생성 작업을 작성합니다.
                     * @param javaProject
                     */
                    @Override
                    public void doAfterCreation(IJavaProject javaProject, AbstractProjectModel projectModel) {
                    }
                }

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

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

createNameSelectDialog

프로젝트 생성 마법사에서 프로젝트 이름을 선택하는 다이얼로그를 반환합니다.

useNameSelector

프로젝트 생성 마법사에서 프로젝트 이름을 선택하는 다이얼로그 팝업 여부를 반환합니다.

getSourceMainJavaPackageSet

프로젝트 생성 마법사를 통해 프로젝트 생성 시, src 또는 src/main/java 등에 생성할 패키지 목록을 반환합니다.

getSourceMainResourcePackageSet

프로젝트 생성 마법사를 통해 프로젝트 생성 시, src/resource 또는 src/main/resource 등에 생성할 패키지 목록을 반환합니다.

getSourceGenJavaPackageSet

프로젝트 생성 마법사를 통해 프로젝트 생성 시, src-gen 또는 src/gen/java 등에 생성할 패키지 목록을 반환합니다.

getSourceTestJavaPackageSet

프로젝트 생성 마법사를 통해 프로젝트 생성 시, test 또는 src/test/java 등에 생성할 패키지 목록을 반환합니다.

getSourceTestResourcePackageSet

프로젝트 생성 마법사를 통해 프로젝트 생성 시, src/test/resource 등에 생성할 패키지 목록을 반환합니다.

doBeforeCreation

프로젝트 생성 마법사를 통해 프로젝트를 생성 전 생성 작업을 작성합니다.

doAfterCreation

프로젝트 생성 마법사를 통해 프로젝트를 생성 후 생성 작업을 작성합니다.

Copyright© Bankwareglobal All Rights Reserved.