Search

1차 구조 정의

해당 구조는 크게 역할로 분류한 목록

1차 구조

processor 처리 역할
@ExcelModel을 처리하는 역할(이하 marking)
처리 세분화
marking된 class 찾기 (AbstractProcessor상속시 어노테이션은 바로 찾을 수 있음)
class에서 annotation 목록에 따른 메타 정보 추출 → 위임 →Parser
추출된 메타 정보를 바탕으로 새로운 모델 변환 → 위임 →Mapper
변환된 모델을 삽입하는 작업 (processorprocessingEnv에서 작업해야함. 즉, processor의 메서드로 만들어도됨)
class에서 annotation목록에 따른 메타 정보 추출 (Parser)
위임 사유
조건과 순서에 의해 제어되는 경우가 존재함. 아래는 처리 순서
1.
class에서 @Column이 붙은 field검색, getter존재 여부 확인 → validate
2.
@Columnpriority에 따라 field배열 생성
3.
다른 어노테이션 작업 가능
주의사항
Style 관련 어노테이션은 class로 작업됨.
따라서 Style관련 class의 작업은 따로 진행.
4.
파싱된 정보를 바탕으로 Mapper가 처리할 수 있는 형태로 넘김(순서를 가진 형태)
추출된 메타 정보를 바탕으로 새로운 모델 변환 → 위임 →Mapper
위임 사유
메타 데이터를 의미있는 객체로 변환.
javapoet 관련한 템플릿 존재
변환된 모델을 삽입하는 작업
변환된 모델 write작업