Use getClassName instead of overwriting createInstance.

This commit is contained in:
David Molineus
2015-01-08 12:57:14 +01:00
parent 7520cbd55e
commit 16f8c41f6f
3 changed files with 11 additions and 22 deletions

View File

@@ -38,16 +38,13 @@ class GroupLayerMapper extends AbstractLayerMapper
/**
* {@inheritdoc}
*/
protected function createInstance(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
protected function getClassName(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
{
$class = $model->groupType === 'feature'
? 'Netzmacht\LeafletPHP\Definition\Group\FeatureGroup'
: static::$definitionClass;
if ($model->groupType === 'feature') {
return 'Netzmacht\LeafletPHP\Definition\Group\FeatureGroup';
}
$reflector = new \ReflectionClass($class);
$instance = $reflector->newInstanceArgs($this->buildConstructArguments($model, $mapper, $bounds));
return $instance;
return parent::getClassName($model, $mapper, $bounds); // TODO: Change the autogenerated stub
}
/**

View File

@@ -53,18 +53,13 @@ class ProviderLayerMapper extends AbstractLayerMapper
/**
* {@inheritdoc}
*/
protected function createInstance(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
protected function getClassName(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
{
if (isset($this->providers[$model->tile_provider]['class'])) {
$class = $this->providers[$model->tile_provider]['class'];
} else {
$class = static::$definitionClass;
return $this->providers[$model->tile_provider]['class'];
}
$reflector = new \ReflectionClass($class);
$instance = $reflector->newInstanceArgs($this->buildConstructArguments($model, $mapper, $bounds));
return $instance;
return parent::getClassName($model, $mapper, $bounds);
}
/**

View File

@@ -43,16 +43,13 @@ class VectorsLayerMapper extends AbstractLayerMapper implements GeoJsonMapper
/**
* {@inheritdoc}
*/
protected function createInstance(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
protected function getClassName(\Model $model, DefinitionMapper $mapper, LatLngBounds $bounds = null)
{
if ($model->deferred) {
$reflector = new \ReflectionClass('Netzmacht\LeafletPHP\Plugins\Ajax\GeoJsonAjax');
$instance = $reflector->newInstanceArgs($this->buildConstructArguments($model, $mapper, $bounds));
return $instance;
return 'Netzmacht\LeafletPHP\Plugins\Ajax\GeoJsonAjax';
}
return parent::createInstance($model, $mapper, $bounds);
return parent::getClassName($model, $mapper, $bounds);
}
/**