Book contents
- Frontmatter
- Contents
- Foreword
- Acknowledgments
- Introduction
- Chapter 1 Getting Started
- Chapter 2 Basic Concepts
- Chapter 3 Team Development
- Chapter 4 Advanced Development
- Chapter 5 Formal Concepts
- Chapter 6 Packaging and Delivery
- Chapter 7 Extending the System
- Chapter 8 Administration
- Chapter 9 Goodies
- Chapter 10 Troubleshooting
- Appendix: A Selected Annotated API of ENVY System Classes
- Glossary
- References
- Index
Appendix: A Selected Annotated API of ENVY System Classes
Published online by Cambridge University Press: 11 January 2010
- Frontmatter
- Contents
- Foreword
- Acknowledgments
- Introduction
- Chapter 1 Getting Started
- Chapter 2 Basic Concepts
- Chapter 3 Team Development
- Chapter 4 Advanced Development
- Chapter 5 Formal Concepts
- Chapter 6 Packaging and Delivery
- Chapter 7 Extending the System
- Chapter 8 Administration
- Chapter 9 Goodies
- Chapter 10 Troubleshooting
- Appendix: A Selected Annotated API of ENVY System Classes
- Glossary
- References
- Index
Summary
In this book we've talked a lot about programming using ENVY System classes. At the simplest level this involves implementing methods such as loaded or removing on our own application classes. At the most complex level, we've seen code to create checkpoint versions directly out of application editions in the repository. All of this requires manipulating the classes that make up ENVY itself.
This kind of programming can be quite difficult. Although we refer to this as an API, many of these classes and methods are not well documented and have changed over time. The most difficult part of writing ENVY system code is understanding the relationships between components and finding the methods necessary to manipulate these relationships. This is complicated by a few factors. First, the components are not directly related through instance variables; rather, many of the most important relationships are implicit in methods. Further, these methods are not concentrated in the components themselves, but are spread out over three distinct groups of classes: the browsers, the “helper” classes such as EmInterface, and the components themselves.
In the earliest versions of ENVY almost everything was done directly in the browser code. Over time much of the code was moved to the components themselves or to utility classes such as EtTools and EmInterface. This reduced code duplication but the utility classes became very complex, with many methods that manipulate different types of components, making it harder to find any given piece of functionality.
- Type
- Chapter
- Information
- Mastering ENVY/Developer , pp. 313 - 332Publisher: Cambridge University PressPrint publication year: 2001