ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilSoapStructureObjectFactory.php
Go to the documentation of this file.
1<?php
2 /*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22 */
23
24
35{
36 public function getInstanceForObject($object)
37 {
38 $classname = ilSoapStructureObjectFactory::_getClassnameForType($object->getType());
39
40 if ($classname != null) {
41 switch ($object->getType()) {
42 case "lm":
43 case "glo":
44 return new $classname(
45 $object->getId(),
46 $object->getType(),
47 $object->getTitle(),
48 $object->getLongDescription(),
49 $object->getRefId()
50 );
51 break;
52 }
53 }
54 return null;
55 }
56
57 public function getInstance($objId, $type, $title, $description, $parentRefId)
58 {
60 if ($classname == null) {
61 return null;
62 }
63
64 return new $classname($objId, $type, $title, $description, $parentRefId);
65 }
66
67 public function _getClassnameForType($type)
68 {
69 switch ($type) {
70 case "lm":
71 include_once "./webservice/soap/classes/class.ilSoapRepositoryStructureObject.php";
72 return "ilSoapRepositoryStructureObject";
73 case "st":
74 include_once "./webservice/soap/classes/class.ilSoapLMChapterStructureObject.php";
75 return "ilSoapLMChapterStructureObject";
76 case "pg":
77 include_once "./webservice/soap/classes/class.ilSoapLMPageStructureObject.php";
78 return "ilSoapLMPageStructureObject";
79 case "glo":
80 include_once "./webservice/soap/classes/class.ilSoapRepositoryStructureObject.php";
81 return "ilSoapRepositoryStructureObject";
82 case "git":
83 include_once "./webservice/soap/classes/class.ilSoapGLOTermStructureObject.php";
84 return "ilSoapGLOTermStructureObject";
85 case "gdf":
86 include_once "./webservice/soap/classes/class.ilSoapGLOTermDefinitionStructureObject.php";
87 return "ilSoapGLOTermDefinitionStructureObject";
88
89
90 }
91 return null;
92 }
93}
An exception for terminatinating execution or to throw for unit testing.
getInstance($objId, $type, $title, $description, $parentRefId)
$type