Class AbstractEnumCompositeComponent<E extends Enum<E>>

Type Parameters:
E - The enum to index child components.
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, io.clogr.Clogged, Component, CompositeComponent, Displayable, InfoModel, LabelModel, Model, PresentationModel, DepictedObject
Direct Known Subclasses:
AbstractFrame, ScrollControl

public abstract class AbstractEnumCompositeComponent<E extends Enum<E>> extends AbstractArrayCompositeComponent
Abstract implementation of a composite component that keeps track of its child components at specific indices in an array. The array is indexed using the provided enum. Child components should not directly call AbstractMultipleCompositeComponent.addComponent(Component) and AbstractMultipleCompositeComponent.removeComponent(Component). Each index in the array can be null. Iterating over child components is thread safe.

This class should be constructed using Enum.values() to indicate the possible enum values.

Author:
Garret Wilson