From 3d3f8d3832921f99daf8ce1953304763c2e76c62 Mon Sep 17 00:00:00 2001 From: wei <> Date: Fri, 14 Apr 2006 06:22:09 +0000 Subject: Importing SQLMap + sample + docs. --- .../DataAccess/SQLMap/Configuration/TResultMap.php | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 framework/DataAccess/SQLMap/Configuration/TResultMap.php (limited to 'framework/DataAccess/SQLMap/Configuration/TResultMap.php') diff --git a/framework/DataAccess/SQLMap/Configuration/TResultMap.php b/framework/DataAccess/SQLMap/Configuration/TResultMap.php new file mode 100644 index 00000000..0f09a1ba --- /dev/null +++ b/framework/DataAccess/SQLMap/Configuration/TResultMap.php @@ -0,0 +1,63 @@ +_columns = new TMap; + } + + public function getID(){ return $this->_ID; } + public function setID($value){ $this->_ID = $value; } + + public function getClass(){ return $this->_className; } + public function setClass($value){ $this->_className = $value; } + + public function getColumns(){ return $this->_columns; } + public function setColumns($value){ $this->_columns = $value; } + + public function getExtends(){ return $this->_extendMap; } + public function setExtends($value){ $this->_extendMap = $value; } + + public function getGroupBy(){ return $this->_groupBy; } + public function setGroupBy($value){ $this->_groupBy = $value; } + + public function getDiscriminator(){ return $this->_discriminator; } + public function setDiscriminator($value){ $this->_discriminator = $value; } + + public function addResultProperty(TResultProperty $property) + { + $this->_columns->add($property->getProperty(), $property); + } + + public function createInstanceOfResult() + { + return TTypeHandlerFactory::createInstanceOf($this->getClass()); + } + + public function resolveSubMap($row) + { + $subMap = $this; + if(!is_null($disc = $this->getDiscriminator())) + { + $mapping = $disc->getMapping(); + $dataValue = $mapping->getDatabaseValue($row); + $subMap = $disc->getSubMap((string)$dataValue); + + if(is_null($subMap)) + $subMap = $this; + else if($subMap !== $this) + $subMap = $subMap->resolveSubMap($row); + } + return $subMap; + } +} + +?> \ No newline at end of file -- cgit v1.2.3