From eea2794155fd0df615e9f81c88b1fa6d4c6a8c65 Mon Sep 17 00:00:00 2001
From: Martynas Sudintas <martynas.sudintas@ongr.io>
Date: Wed, 29 Apr 2015 13:40:03 +0300
Subject: [PATCH] improved NotFilter with setters

---
 Filter/NotFilter.php | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/Filter/NotFilter.php b/Filter/NotFilter.php
index 4f187b5..29be5e5 100644
--- a/Filter/NotFilter.php
+++ b/Filter/NotFilter.php
@@ -16,6 +16,8 @@ use ONGR\ElasticsearchBundle\DSL\ParametersTrait;
 
 /**
  * Represents Elasticsearch "not" filter.
+ *
+ * @link http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-not-filter.html
  */
 class NotFilter implements BuilderInterface
 {
@@ -30,11 +32,33 @@ class NotFilter implements BuilderInterface
      * @param BuilderInterface $filter     Filter.
      * @param array            $parameters Optional parameters.
      */
-    public function __construct($filter, array $parameters = [])
+    public function __construct(BuilderInterface $filter = null, array $parameters = [])
     {
-        $this->filter = $filter;
+        if ($filter !== null) {
+            $this->setFilter($filter);
+        }
         $this->setParameters($parameters);
     }
+    
+    /**
+     * Returns filter.
+     *
+     * @return BuilderInterface
+     */
+    public function getFilter()
+    {
+        return $this->filter;
+    }
+
+    /**
+     * Sets filter.
+     *
+     * @param BuilderInterface $filter
+     */
+    public function setFilter(BuilderInterface $filter)
+    {
+        $this->filter = $filter;
+    }
 
     /**
      * {@inheritdoc}
-- 
GitLab