Address Book Tag Library: Overview
 
This tag library implements a collection of tags that enable address
book access to any class of device that utilizes a markup style presentation 
system. 
The Address Book Tag Libraries consists of the following tags:
 
Context
 
This tag is used to maintain state between requests, and must be present
on a JSP before any other address book tag may be used.
 
 
Commands
 
The following tags perform an action or command on the 
address book service:
 
 - fetch - fetches a collection of address book
entries into the context.
- add - adds an entry to the address book.
- delete - deletes an entry 
        from the address book.
- modify - modifies an existing 
          address book entry.
Beans & Collections
 
The following tags provide access to address book data: 
 
 - entry - provides address book entry properties.
- entries - collection of address book entry
beans.
- get - gets a bean property.
- set - sets a bean property.
- addgroupmembers - sets the list
of "members to add" in a group bean.
- deletegroupmembers - removes
a list of members from a group bean.
- setgroupmembers - 
       sets the list
of "members to set" in a group bean.
- contact - provides access to entry bean
         properties in the "contacts" collection.
- contacts - the "contacts" collection of
entry beans.
- groupmember - provides access to 
   entry bean properties in the "groupmembers" collection.
   
- groupmembers  - the "groupmembers"
            collection of entry beans. 
  
- memberchoice - Provides access to 
       entry bean properties in the "memberchoices" collection.
   
- memberchoices - the "memberchoices"
collection of entry beans.
The entries, contacts,
groupmembers, and memberchoices collection tags behave
more-or-less the same.  However, these collections were designed in
anticipation of a fairly specific pattern of usage.  To summarize:
 
   - entries:  Typically
used to fetch the top level of an address book, which may include both contacts
and groups.
- groupmembers:  Typically
used to fetch the members of a specific group, which may include both contacts
and groups.
- contacts:  Typically
used to fetch only contacts.  Regardless of whether a particular group,
or the entire address book is fetched, all groups fetched into this collection
are expanded into their constituent contacts.
- memberchoices:  Typically
used to fetch entries from an address book, which may include both contacts and groups.  This collection is typically
used to create a presentation of choices to the user.  Once the user
submits their selections, the addgroupmembers
and setgroupmembers tags may be
used to set reference within a specified group bean, to specific entries within
the memberchoices collection.
The entry, contact, groupmember,
and memberchoice bean tags behave
more-or-less the same.  Generically, they can all reference address
book entries. However, there are two different kinds of entries:
 contacts and groups.  The bean that is used to
store each type of entry provides access to a different set of properties.
 The different type of entry beans may be distinguished from one another
using the "elementType" property.