Provides the classes and interfaces fundamental to the NetUI tags. The primary abstract base class is {@link org.apache.beehive.netui.tags.AbstractClassicTag}, which most tags extend from. This class provides implementation of most of the basic services used by the NetUI tags. There are three basic types of NetUI Tags based upon how they data bind to objects:

- Read-only -- These tags bind to their primary value through the `value` attribute. In addition, many other attributes on tags provide read-only binding.
- Read-Write -- These values provide read/write access to variables on the server. Tags bind their primary value through the `dataSource` attribute.
- Read-Write Multiple Values -- This type of tag may read and write multiple values. Typically, these tags support a `optionsDataSource` attribute allowing the full set of options to be specified.

In addition, to these common attributes, many tags provide a `defaultValue` attribute which can provide the default value if the `dataSource` object is null.

`AbstractBaseTag` provides base features allowing the implementation of `dataSource, defaultValue`, and `optionsDataSource`. There are also base classes in both this package and the {@link org.apache.beehive.netui.tags.html} package which support these attributes.

The primary base classes are:

- AbstractBaseTag -- This is an abstract base class for all tags. I provides support for generic tag features, expression management, naming support, generic attribute support, error reporting and JavaScript services.
- DataSourceTag --
- DefaultableDataSourceTag --
- OptionsDataSourceTag --

There are a number of supporting interfaces provided by the package. These interfaces allow tags to provide services or participate in provided services. These are the primary interfaces:

- DataAccessProvider -- This interfaces allows object to provide their children with a relative binding context using the 'container' binding context.
- ErrorReporter -- This interfaces allows objects to act as a container for reporting errors generated by their children.
- ScriptReporter -- This interfaces allows objects to act as a container for JavaScript for their children.