1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Contains the factory class that handles the creation of geometric objects * * @package PhpMyAdmin-GIS */ namespace PhpMyAdmin\Gis;
/** * Factory class that handles the creation of geometric objects. * * @package PhpMyAdmin-GIS */ class GisFactory { /** * Returns the singleton instance of geometric class of the given type. * * @param string $type type of the geometric object * * @return GisGeometry the singleton instance of geometric class * of the given type * * @access public * @static */ public static function factory($type) { switch (strtoupper($type)) { case 'MULTIPOLYGON' : return GisMultiPolygon::singleton(); case 'POLYGON' : return GisPolygon::singleton(); case 'MULTIPOINT' : return GisMultiPoint::singleton(); case 'POINT' : return GisPoint::singleton(); case 'MULTILINESTRING' : return GisMultiLineString::singleton(); case 'LINESTRING' : return GisLineString::singleton(); case 'GEOMETRYCOLLECTION' : return GisGeometryCollection::singleton(); default : return false; } } }
|