목차
1장 큰 그림
1.1 이 책의 목표 = 25
1.2 플러그인 = 27
1.3 이클립스 새내기 = 27
1부 서클 0 : Hello World
2장 플러그인 개발을 위한 이클립스 설정
2.1 워크스페이스 준비 = 33
2.2 소스 열람과 검색 = 34
2.3 발전 학습 = 36
3장 Hello World
3.1 선언/구현 분리 = 38
3.2 Hello 버튼 = 40
3.3 "Hello"라고 말하기 = 47
3.4 발전 학습 = 54
2부 서클 1 : 기본적인 플러그
4장 계획
4.1 예제 JUnit = 57
4.2 JUnit 통합 = 59
5장 테스트 실행을 위한 메뉴 항목 기여
5.1 발전 학습 = 67
6장 메뉴 항목의 동작 구현
6.1 발전 학습 = 79
7장 결과 출력
7.1 발전 학습 = 85
8장 확장점 정의
8.1 발전 학습 = 97
9장 확장 통지
10장 공개
10.1 플러그인 패키지 = 101
10.2 플러그인을 피처로 묶기 = 105
10.3 기여 = 108
10.4 발전 학습 = 110
11장 첫 번째 순환주기를 마치며
12장 막간: 테스트 주도 플러그인 개발
12.1 PDE JUnit = 116
12.2 테스트 프로젝트 픽스처 = 122
12.3 기여된 JUnit 플러그인 테스트 = 124
12.4 그리고 이제... = 128
3부 서클 2 : 플러그인의 여운
13장 결과 열람
13.1 뷰 기여하기 = 133
13.2 테스트 진행 따라잡기 = 137
13.3 색 바꾸기 = 140
14장 메뉴 기여
14.1 컨텍스트 메뉴 생성 = 147
14.2 메뉴 항목 기여 = 153
14.3 발전 학습 = 156
15장 실패한 테스트는 컴파일 에러다
16장 마커로서의 테스트 실패
16.1 마커에 대한 테스트 = 161
16.2 프로젝트 통과 = 165
16.3 마커 생성 = 166
16.4 마커 삭제 = 171
16.5 마커 이미지 = 172
16.6 마커 결정 = 174
17장 테스트 검출
18장 빌더와 네이처
18.1 리소스 리스너 VS 빌더 = 186
18.2 빌더 설정을 위한 네이처 사용 = 188
18.3 발전 학습 = 194
19장 자동 테스트 속성
19.1 발전 학습 = 204
20장 예외 처리
20.1 IStatus, CoreException = 206
20.2 에러 대화 창을 통한 예외 전달 = 207
20.3 에러 로깅 = 209
21장 추적 기능 - 플러그인의 강화
21.1 발전 학습 = 217
22장 마커 결정 - 오랜 시간 실행되는 작업의 호출
22.1 마커 결정 테스트하기 = 220
22.2 빌드와 재실행 = 220
22.3 진행 상태 표시 = 222
22.4 테스트 재실행 = 226
22.5 발전 학습 = 227
23장 테스트 보고 화면 - JFace의 사용
23.1 테스트 결과 = 231
23.2 테스트 = 232
23.3 뷰 = 233
23.4 TestReportLabelProvider = 238
23.5 TestReportContentProvider = 241
23.6 이벤트 처리 = 247
23.7 발전 학습 = 253
24장 테스트를 제외하기 위한 간단한 편집기
24.1 편집기 기여 = 258
24.2 기여자 기여하기 = 262
24.3 발전 학습 = 267
25장 ResultView 보안 계획 - 변화 감시
25.1 색 테스트 = 271
25.2 변화 감시 = 272
25.3 변화 대응 = 275
25.4 발전 학습 = 279
26장 퍼스펙티브
26.1 퍼스펙티브에서의 뷰 = 281
26.2 뷰 메뉴 표시 = 284
26.3 발전 학습 = 286
27장 도움말
27.1 최상위 도움말 = 289
27.2 통합 도움말 = 292
27.3 컨텍스트 감지 도움말 = 294
27.4 발전 학습 = 298
28장 국제화와 장애 배려
28.1 설명서 파일로부터의 문자열 추출 = 299
28.2 코드로부터의 문자열 추출 = 300
28.3 장애 배려 = 303
28.4 발전 학습 = 304
29장 프로그래머를 위한 플러그인 공개
29.1 API 정의 = 307
29.2 클래스 엑스포트 = 308
29.3 내부 패키지로부터의 분리 공개 = 310
29.4 UI로부터 코어 분리 = 312
29.5 확장점 공개 - 확장점 스키마 = 312
29.6 발전 학습 = 316
30장 두 번재 순환주기를 마치며
30.1 기여 = 321
30.2 플러그인 재배치 = 323
30.3 다음 목적지 = 325
4부 서클 3 : 패턴 이야기
31장 코어 런타임 - IAdaptable
31.1 확장 오브젝트/확장 인터페이스 = 331
31.2 IAdaptable을 사용해 인터페이스 가져오기 = 334
34.3 어댑터 팩토리 - 기존 타입에 인터페이스 추가하기 = 335
32장 코어 워크스페이스 - 리소스
32.1 파일 시스템 리소스 접근 - 프락시와 브리지 = 341
32.2 워크스페이스 - 컴포지트 = 346
32.3 리소스 트리 탐색 - 비지터 = 347
32.4 리소스 변경 추적 - 옵서버 = 349
32.5 변경 묶음 - Execute Around Method = 351
33장 자바 코어
33.1 리소스에서 자바 엘리먼트로 - 어댑터 = 354
33.2 자바 엘리먼트 - (가상) 프락시 = 355
33.3 자바 엘리먼트 트리 - 컴포지트 = 359
33.4 타입 계층구조 - 연관을 오브젝트화하기 = 360
33.5 자바 모델 탐색하기 = 361
33.6 자바 엘리먼트의 변화 추적하기 - 옵서버 = 361
33.7 결과 모으기 - 빌더 = 363
33.8 추상 문법 트리 분석 - 비지터 = 365
34장 표준 위짓 툴킷 - SWT
34.1 위짓 구성하기 - 컴포지트 = 372
34.2 레이아웃 정의 - 스트래터지 = 376
34.3 이벤트에 대답하기 - 옵서버 = 379
35장 JFace - 사용자 인터페이스 프레임워크
35.1 뷰어: 위짓을 모델에 연결하기 - 플러거블 어댑터 = 382
35.2 뷰어: 상속 없이 커스터마이징하기 - 스트래터지 = 384
35.3 액션 - 커맨드 = 388
36장 UI 워크벤치
36.1 늦은 로딩 규칙 구현 - 가상 프락시 = 392
36.2 UI 상태 지속하기 - 메멘토 = 394
36.3 워크벤치 서비스 - IAdaptable = 397
37장 세 번째 순환주기를 마치며
37.1 마지막 발전 학습 = 404
37.2 기여로 향하는 길 = 407
5부 부록
부록 A TestRunner 세부 사항
A.1 TestRunner = 412
A.2 SocketTestRunner = 417
부록 B TestProject 픽스처
부록 C 배제 기능을 갖는 AutoTestBuilder
참고문헌 = 428
찾아보기 = 429