non-class files::
(class files covered in package.html)
CLASSES		class tree (sort of) and possibly some other junk
INFO		this file
package.html	for javadoc generation


class comment Spec section format::
 *<PRE>	<!-- for alignment purposes -->&nbsp;
 * Spec:
 * <object class specific layout (see below)>
 * <possibly some other notes>
 *</PRE>
component:
 *   section:	<section>... [<rfc>]
 *   occurs:	<container allowed in>(<# of times>), ...
 *   comps:	<allowed comp>(<# of times>), ...
 *   props:	<allowed prop>(<# of times>), ...
base property:
 *   section:	<section>... [<rfc>]
 *   allowed:	<allowed value>, ...
property:
 *   section:	<section>... [<rfc>]
 *   occurs:	<container allowed in>(<# of times>), ...
 *   datatypes:	<type (default first)>... (<# of times>)
 *   default:	<default value>
 *   allowed:	<allowed value>, ...
 *   params:	<allowed param>(<# of times>), ...
base parameter:
 *   section:	<section>... [<rfc>]
parameter:
 *   section:	<section>... [<rfc>]
 *   occurs:	<container allowed in>(<# of times>), ...
 *   datatypes: <type (default first)>... (<# of times>)
 *   default:   <default value>
 *   allowed:	<allowed value>...
value:
 *   section:	<section>... [<rfc>]
 *   allowed:	<allowed value>...
alternatives:
 *   occurs:	<container allowed in>... (<# of times>)


allowed-member lists, parser/builders, etc::
Component:
	configComponent() sets up lists (Vectors) of allowed members,
	which are used by addComponent() and addProperty()
	to determine if a component or property can be added to that component.
	setupComponent() sets up a map (HashMap) of name-to-class mappings
	using the lists setup by configComponent(),
	which may be accessed outside the class through getClassMap()
	for use by parsing classes.
Property:
	configProperty() sets up lists (Vectors) of allowed members,
	which are used by addProperty()
	to determine if a property can be added to that property.
	setupProperty() sets up a map (HashMap) of name-to-class mappings
	using the lists setup by configProperty(),
	which may be accessed outside the class through getClassMap()
	for use by parsing classes.
considerations:
	for configComponent/Property() and the resulting lists,
	using in-package classes would be fine
	(assuming isAssignableFrom()
	 is used as the criteria for equals/contains).
	but for setupComponent/Property() and the resulting maps,
	the classes must be the most derived
	in order that an object of the proper class be created.
alternatives:
	alternative to setupComponent/Property():
	a nameTo{Comp|Prop}Class() methods could lookup the class dynamically
	(assuming getCalendarName() has been completely implemented).

	alternative to requiring that the most derived classes are listed,
	separate global lists for components, properties and parameters
	could be built in Config for parser/builder lookups.

	<another one I don't remember...>

	so global lists/maps are required either way:
	a. if allowed-member lists contain the most derived classes,
	   then the global lists are needed by configComponent/Property()
	   to do the name-to-class lookup
	   to find the most derived classes at object config time
	   (which aspect is needed by parser/builders)
	b. if allowed-member lists contain just the in-package classes,
	   then the global lists are needed by parsers/builders
	   to do the name-to-class lookup
	   to find the most derived classes at parse/build time
implementing:
	allowed-member lists contain in-package classes
	Configs build lists for parser/builders to get correct derivations
