doc/api/Athens-Core-Etc-AbstractBuilder.md
Athens\Core\Etc\AbstractBuilder
===============
Class AbstractBuilder is a parent class for all Builder classes.
* Class name: AbstractBuilder
* Namespace: Athens\Core\Etc
* This is an **abstract** class
Methods
-------
### begin
static Athens\Core\Etc\AbstractBuilder::begin()
* Visibility: **public**
* This method is **static**.
### clear
\Athens\Core\Etc\AbstractBuilder Athens\Core\Etc\AbstractBuilder::clear()
* Visibility: **public**
### setId
\Athens\Core\Etc\AbstractBuilder Athens\Core\Etc\AbstractBuilder::setId(string $id)
Set the unique identifier for the element to be built.
* Visibility: **public**
#### Arguments
* $id **string**
### addClass
\Athens\Core\Etc\AbstractBuilder Athens\Core\Etc\AbstractBuilder::addClass(string $class)
Add a display class name to the element to be built.
* Visibility: **public**
#### Arguments
* $class **string**
### addData
\Athens\Core\Etc\AbstractBuilder Athens\Core\Etc\AbstractBuilder::addData(string $key, string $value)
Add a data field to the element to be built.
For example, when building a field:
FieldBuilder->begin()
->addData('owned-by', 'bob')
...
->build();
When written to HTML, the resulting field will have
an HTML5 data attribute like:
<... data-owned-by='bob' .../>
* Visibility: **public**
#### Arguments
* $key **string**
* $value **string**
### build
mixed Athens\Core\Etc\AbstractBuilder::build()
Return the element under construction.
Returns an instance of the object type under construction.
* Visibility: **public**
* This method is **abstract**.