name = $name; if($value) $this->addFragment(new WactAttributeLiteralFragment($value)); } function getName() { return $this->name; } function addFragment($fragment) { $this->fragments[] = $fragment; } function getFragment($index) { if(isset($this->fragments[$index])) return $this->fragments[$index]; } function isConstant() { $isConstant = TRUE; foreach( array_keys($this->fragments) as $key) $isConstant = $isConstant && $this->fragments[$key]->isConstant(); return $isConstant; } function getValue() { if(!count($this->fragments)) return null; $value = ""; foreach( array_keys($this->fragments) as $key) $value .= $this->fragments[$key]->getValue(); return $value; } function generate($code_writer) { $code_writer->writeHTML(' ' . $this->name); if(!count($this->fragments)) return; $code_writer->writeHTML('="'); foreach( array_keys($this->fragments) as $key) $this->fragments[$key]->generateFragment($code_writer); $code_writer->writeHTML('"'); } function generatePreStatement($code_writer) { foreach( array_keys($this->fragments) as $key) $this->fragments[$key]->generatePreStatement($code_writer); } function generateExpression($code_writer) { $code_writer->writePHP('('); $separator = ''; foreach( array_keys($this->fragments) as $key) { $code_writer->writePHP($separator); $this->fragments[$key]->generateExpression($code_writer); $separator = "."; } $code_writer->writePHP(')'); } function generatePostStatement($code_writer) { foreach( array_keys($this->fragments) as $key) $this->fragments[$key]->generatePostStatement($code_writer); } function prepare() { foreach( array_keys($this->fragments) as $key) $this->fragments[$key]->prepare(); } } ?>