vendor/mondator/src/Mandango/Mondator/Definition/Property.php
changeset 18 c85b9d1ddf19
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/mondator/src/Mandango/Mondator/Definition/Property.php	Thu Oct 27 05:47:14 2011 +0200
@@ -0,0 +1,165 @@
+<?php
+
+/*
+ * This file is part of Mandango.
+ *
+ * (c) Pablo Díez <pablodip@gmail.com>
+ *
+ * This source file is subject to the MIT license that is bundled
+ * with this source code in the file LICENSE.
+ */
+
+namespace Mandango\Mondator\Definition;
+
+/**
+ * Represents a property of a class.
+ *
+ * @author Pablo Díez <pablodip@gmail.com>
+ *
+ * @api
+ */
+class Property
+{
+    private $visibility;
+    private $name;
+    private $value;
+    private $static;
+    private $docComment;
+
+    /**
+     * Constructor.
+     *
+     * @param string $visibility The visibility.
+     * @param string $name       The name.
+     * @param mixed  $value      The value.
+     *
+     * @api
+     */
+    public function __construct($visibility, $name, $value)
+    {
+        $this->setVisibility($visibility);
+        $this->setName($name);
+        $this->setValue($value);
+        $this->static = false;
+    }
+
+    /**
+     * Set the visibility.
+     *
+     * @param string $visibility The visibility.
+     *
+     * @api
+     */
+    public function setVisibility($visibility)
+    {
+        $this->visibility = $visibility;
+    }
+
+    /**
+     * Returns the visibility.
+     *
+     * @return string The visibility.
+     *
+     * @api
+     */
+    public function getVisibility()
+    {
+        return $this->visibility;
+    }
+
+    /**
+     * Set the name.
+     *
+     * @param string $name The name.
+     *
+     * @api
+     */
+    public function setName($name)
+    {
+        $this->name = $name;
+    }
+
+    /**
+     * Returns the name.
+     *
+     * @return string The name.
+     *
+     * @api
+     */
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    /**
+     * Set the value.
+     *
+     * @param mixed $value The value.
+     *
+     * @api
+     */
+    public function setValue($value)
+    {
+        $this->value = $value;
+    }
+
+    /**
+     * Returns the value.
+     *
+     * @return mixed The value.
+     *
+     * @api
+     */
+    public function getValue()
+    {
+        return $this->value;
+    }
+
+    /**
+     * Set if the property is static.
+     *
+     * @param bool $static If the property is static.
+     *
+     * @api
+     */
+    public function setStatic($static)
+    {
+        $this->static = (bool) $static;
+    }
+
+    /**
+     * Return if the property is static.
+     *
+     * @return bool Returns if the property is static.
+     *
+     * @api
+     */
+    public function isStatic()
+    {
+        return $this->static;
+    }
+
+    /**
+     * Set the doc comment.
+     *
+     * @param string|null $docComment The doc comment.
+     *
+     * @api
+     */
+    public function setDocComment($docComment)
+    {
+        $this->docComment = $docComment;
+    }
+
+    /**
+     * Returns the doc comment.
+     *
+     * @return string|null The doc comment.
+     *
+     * @api
+     */
+    public function getDocComment()
+    {
+        return $this->docComment;
+    }
+}