|
1 | 1 | Evolving Java-based APIs
|
2 | 2 | ========================
|
3 | 3 |
|
4 |
| -By Jim des Rivières, IBM |
5 |
| - |
6 |
| -Revision history: |
7 |
| - |
8 |
| -October 1, 2007 - revision 1.2 - Clarified moving methods up and down type hierarchy; added note about Java reflection; split document into 3 parts because it was getting too large to edit: |
| 4 | +Document is currently split in 3 parts: |
9 | 5 |
|
10 | 6 | * Part 1: What is an API? (this page)
|
11 | 7 | * [Part 2: Achieving API Binary Compatibility](/Evolving_Java-based_APIs_2 "Evolving Java-based APIs 2")
|
12 | 8 | * [Part 3: Other Notes](/Evolving_Java-based_APIs_3 "Evolving Java-based APIs 3")
|
13 | 9 |
|
14 |
| -February 14, 2007 - revision 1.1 - Add coverage for JDK 1.5 language features: generics, enums, annotation types, variable arity methods. |
15 |
| - |
16 |
| -June 8, 2001 - revision 1.02 - Added note about breakage due to adding API method to classes that may be subclassed. |
17 |
| - |
18 |
| -January 15, 2001 - revision 1.01 - Added suggestion about making obsolete hook methods final. |
19 |
| - |
20 |
| -October 6, 2000 - revision 1.0 |
21 |
| - |
22 |
| -This document is about how to evolve Java-based APIs while maintaining compatibility with existing client code. Without loss of generality, we'll assume that there is a generic **Component** with a **Component API**, with one party providing the Component and controlling its API. The other party, or parties, write **Client** code that use the Component's services through its API. This is a very typical arrangement. |
| 10 | +This document is about how to evolve Java-based APIs while maintaining compatibility with existing client code. |
| 11 | +Without loss of generality, we'll assume that there is a generic **Component** with a **Component API**, with one party providing the Component and controlling its API. |
| 12 | +The other party, or parties, write **Client** code that use the Component's services through its API. This is a very typical arrangement. |
23 | 13 |
|
24 | 14 | Contents
|
25 | 15 | --------
|
@@ -229,4 +219,4 @@ Bundle Versioning
|
229 | 219 |
|
230 | 220 | See [Version Numbering](/Version_Numbering "Version Numbering")
|
231 | 221 |
|
232 |
| -Copyright © 2000, 2009 IBM Corporation |
| 222 | + |
0 commit comments