public function buildAction() {
		$request = $this->getConsoleRequest();
		
		$types = [
			'datatable' => [
				'DataTable'],
			'abstract' => [
				'EntityAbstract'],
			'entity' => [
				'Entity'],
			'ALL' => [
				'DataTable',
				'EntityAbstract',
				'Entity']];
		
		$class = $request->getParam('class');
		$table = $request->getParam('table');
		$write = $request->getParam('write') || $request->getParam('w');
		
		$body = '';
		$classes = $types[$class];
		foreach ( $classes as $type ) {
			$getFunc = "get{$type}Code";
			$writeFunc = "write{$type}";
			
			$body .= "Generating $type for $table\n";
			
			if ($table == 'ALL') {
				$bm = new BuilderManager($this->getNameManager(true));
				
				while ( $bm->nextTable() ) {
					if ($write) {
						if ($bm->$writeFunc(true)) {
							$body .= "\tWritten {$bm->getTableName()}\n";
						}
					} else {
						$body .= "\n//TODO:NEWCLASS\n" . $bm->$getFunc();
					}
				}
			} else {
				$bm = new BuilderManager($this->getNameManager(true), $table);
				$code = $bm->$getFunc();
				
				if ($write) {
					if ($bm->$writeFunc(true)) {
						$body .= "\tWritten to file\n";
					}
				} else {
					$body .= $code;
				}
			}
			
			$body .= $this->getDeveloperFooter();
		}
		
		return "$body\n";
	}