/** * * @param string $property * @param XMLAMember $member * @param array $map * * @return mixed */ protected function _getPropertyValue($property, XMLAMember $member, array $map) { if (isset($map[$property])) { return $map[$property]; } switch ($property) { case 'MEMBER_CAPTION': return $member->getCaption(); case 'MEMBER_NAME': return $member->getName(); case 'MEMBER_UNIQUE_NAME': return $member->getUniqueName(); case 'CATALOG_NAME': return $member->getCatalog()->getName(); case 'CHILDREN_CARDINALITY': return $member->getChildMemberCount(); case 'CUBE_NAME': return $member->getCube()->getName(); case 'DEPTH': return $member->getDepth(); case 'DESCRIPTION': return $member->getDescription(); case 'DIMENSION_UNIQUE_NAME': return $member->getDimension()->getUniqueName(); case 'DISPLAY_INFO': return NULL; case 'HIERARCHY_UNIQUE_NAME': return $member->getHierarchy()->getUniqueName(); case 'LEVEL_NUMBER': return $member->getLevel()->getDepth(); case 'LEVEL_UNIQUE_NAME': return $member->getLevel()->getUniqueName(); case 'MEMBER_GUID': return NULL; case 'MEMBER_ORDINAL': return $member->getOrdinal(); case 'MEMBER_TYPE': return $member->getMemberType(); case 'PARENT_COUNT': return 1; case 'PARENT_LEVEL': return $member->getParentMember() == NULL ? 0 : $member->getParentMember()->getDepth(); case 'PARENT_UNIQUE_NAME': return $member->getParentMember() == NULL ? NULL : $member->getParentMember()->getUniqueName(); case 'SCHEMA_NAME': return $member->getCube()->getSchema()->getName(); case 'VALUE': return NULL; } return NULL; }