/** {@inheritDoc} */
 public function getPath()
 {
     $path = $this->file->getPath();
     $view = array_pop($path);
     array_push($path, 'roles', $this->role, $view);
     return $path;
 }
 /** {@inheritDoc} */
 public function getPath()
 {
     $path = $this->file->getPath();
     array_splice($path, 2, 0, array('clients', $this->client, 'views'));
     $path[] = end($path);
     return $path;
 }
 /** {@inheritDoc} */
 public function getPath()
 {
     $paths = MetaDataFiles::getPaths();
     if (!isset($paths[$this->location])) {
         throw new Exception("Deployed metadata location {$this->location} is not recognized");
     }
     $path = $this->file->getPath();
     if ($paths[$this->location]) {
         $path = array_merge(explode('/', trim($paths[$this->location], '/')), $path);
     }
     return $path;
 }
 /** {@inheritDoc} */
 public function getPath()
 {
     $path = $this->file->getPath();
     switch ($this->location) {
         case MB_HISTORYMETADATALOCATION:
             $path = array_merge(explode('/', trim(MetaDataFiles::$paths[MB_WORKINGMETADATALOCATION], '/')), array('modulebuilder', 'packages', $this->package), $path);
             break;
         default:
             // get the module again, all so we can call this method statically without relying
             // on the module stored in the class variables
             require_once 'modules/ModuleBuilder/MB/ModuleBuilder.php';
             $mb = new ModuleBuilder();
             array_shift($path);
             $module = array_shift($path);
             $path = array_merge(explode('/', trim($mb->getPackageModule($this->package, $module)->getModuleDir(), '/')), $path);
     }
     return $path;
 }
 /** {@inheritDoc} */
 public function getPath()
 {
     $path = $this->file->getPath();
     array_splice($path, 2, 0, array('metadata'));
     return $path;
 }