added annotation support
This commit is contained in:
33
ServiceDefinition/Annotation/Method.php
Normal file
33
ServiceDefinition/Annotation/Method.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the WebServiceBundle.
|
||||
*
|
||||
* (c) Christian Kerl <christian-kerl@web.de>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Bundle\WebServiceBundle\ServiceDefinition\Annotation;
|
||||
|
||||
class Method
|
||||
{
|
||||
private $name;
|
||||
private $service;
|
||||
|
||||
public function __construct($values)
|
||||
{
|
||||
$this->name = isset($values['value']) ? $values['value'] : null;
|
||||
$this->service = isset($values['service']) ? $values['service'] : null;
|
||||
}
|
||||
|
||||
public function getName($default = null)
|
||||
{
|
||||
return $this->name !== null ? $this->name : $default;
|
||||
}
|
||||
|
||||
public function getService()
|
||||
{
|
||||
return $this->service;
|
||||
}
|
||||
}
|
28
ServiceDefinition/Annotation/Param.php
Normal file
28
ServiceDefinition/Annotation/Param.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the WebServiceBundle.
|
||||
*
|
||||
* (c) Christian Kerl <christian-kerl@web.de>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Bundle\WebServiceBundle\ServiceDefinition\Annotation;
|
||||
|
||||
class Param extends TypedElement
|
||||
{
|
||||
private $name;
|
||||
|
||||
public function __construct($values)
|
||||
{
|
||||
parent::__construct($values);
|
||||
|
||||
$this->name = $values['value'];
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
}
|
19
ServiceDefinition/Annotation/Result.php
Normal file
19
ServiceDefinition/Annotation/Result.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the WebServiceBundle.
|
||||
*
|
||||
* (c) Christian Kerl <christian-kerl@web.de>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Bundle\WebServiceBundle\ServiceDefinition\Annotation;
|
||||
|
||||
class Result extends TypedElement
|
||||
{
|
||||
public function __construct($values)
|
||||
{
|
||||
parent::__construct($values);
|
||||
}
|
||||
}
|
40
ServiceDefinition/Annotation/TypedElement.php
Normal file
40
ServiceDefinition/Annotation/TypedElement.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the WebServiceBundle.
|
||||
*
|
||||
* (c) Christian Kerl <christian-kerl@web.de>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Bundle\WebServiceBundle\ServiceDefinition\Annotation;
|
||||
|
||||
abstract class TypedElement
|
||||
{
|
||||
private $phpType;
|
||||
private $xmlType;
|
||||
|
||||
public function __construct($values)
|
||||
{
|
||||
foreach(array('type', 'phpType') as $key)
|
||||
{
|
||||
if(isset($values[$key]))
|
||||
{
|
||||
$this->phpType = $values[$key];
|
||||
}
|
||||
}
|
||||
|
||||
$this->xmlType = isset($values['xmlType']) ? $values['xmlType'] : null;
|
||||
}
|
||||
|
||||
public function getPhpType()
|
||||
{
|
||||
return $this->phpType;
|
||||
}
|
||||
|
||||
public function getXmlType()
|
||||
{
|
||||
return $this->xmlType;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user