This chapter tackled the topic of complex object manipulation. This is an important topic because of the code that business programmers will create. Business programmers, or application programmers, write applications that solve specific business purposes. Often, that means developing large and complex data structures. Ideally, a developer would develop a simple object structure. However, when you're dealing with business applications, that is simply not possible. Business applications have large amounts of data, and that means large objects. If you hadn't read all the way up to this chapter, this would mean that as a developer, you would have to manually iterate and search objects.
We learned in this chapter that you can dynamically manipulate those objects. The advantage of dynamic manipulation is that the objects could change, but you wouldn't have to change the business application code. For example, the Beanutils package can clone two entirely different class types. When you move from a legacy system to a new system, the objects will change but the identifiers most likely will not. This means that a developer can code logic without having to remember the types. The same could be said for the JXPath package, which allows you to dynamically resolve properties and their values. These two packages solve many problems related to manipulating complex data structures.
We also discussed the Collections package, which rounds out the complex data. This package offers very sophisticated collection structures. Collections are a complex topic because they need to hold objects that obey some rules. Typically, those rules are programmed on top of the collection. However, for the Collections package those rules are part of the collection, which allows a developer to use a collection in any context without having to know the rules. The rules and circumstances are defined externally to the collection manipulation. This follows the Commons Bridge intention .
On the CD The sources to the concepts presented in this chapter are located under the directory [CDROM]/jseng/src/com.devspace. jseng .collections .