Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
S
solarium
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
common
solarium
Commits
2384976e
Commit
2384976e
authored
Sep 04, 2011
by
Bas de Nooijer
Browse files
Options
Browse Files
Download
Plain Diff
Merged spellcheck
parents
1ab43733
9665a60e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
743 additions
and
0 deletions
+743
-0
library/Solarium/Client/RequestBuilder/Select/Component/Spellcheck.php
...ium/Client/RequestBuilder/Select/Component/Spellcheck.php
+78
-0
library/Solarium/Client/ResponseParser/Select/Component/Spellcheck.php
...ium/Client/ResponseParser/Select/Component/Spellcheck.php
+71
-0
library/Solarium/Query/Select.php
library/Solarium/Query/Select.php
+22
-0
library/Solarium/Query/Select/Component/Spellcheck.php
library/Solarium/Query/Select/Component/Spellcheck.php
+341
-0
library/Solarium/Result/Select.php
library/Solarium/Result/Select.php
+12
-0
library/Solarium/Result/Select/Spellcheck.php
library/Solarium/Result/Select/Spellcheck.php
+110
-0
library/Solarium/Result/Select/Spellcheck/Result.php
library/Solarium/Result/Select/Spellcheck/Result.php
+109
-0
No files found.
library/Solarium/Client/RequestBuilder/Select/Component/Spellcheck.php
0 → 100644
View file @
2384976e
<?php
/**
* Copyright 2011 Bas de Nooijer. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this listof conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are
* those of the authors and should not be interpreted as representing official
* policies, either expressed or implied, of the copyright holder.
*
* @copyright Copyright 2011 Bas de Nooijer <solarium@raspberry.nl>
* @license http://github.com/basdenooijer/solarium/raw/master/COPYING
* @link http://www.solarium-project.org/
*
* @package Solarium
* @subpackage Client
*/
/**
* Add select component Spellcheck to the request
*
* @package Solarium
* @subpackage Client
*/
class
Solarium_Client_RequestBuilder_Select_Component_Spellcheck
{
/**
* Add request settings for Spellcheck
*
* @param Solarium_Query_Select_Component_Spellcheck $component
* @param Solarium_Client_Request $request
* @return Solarium_Client_Request
*/
public
function
build
(
$component
,
$request
)
{
// enable spellcheck
$request
->
addParam
(
'spellcheck'
,
'true'
);
$request
->
addParam
(
'spellcheck.q'
,
$component
->
getQuery
());
$request
->
addParam
(
'spellcheck.build'
,
$component
->
getBuild
());
$request
->
addParam
(
'spellcheck.reload'
,
$component
->
getReload
());
$request
->
addParam
(
'spellcheck.dictionary'
,
$component
->
getDictionary
());
$request
->
addParam
(
'spellcheck.count'
,
$component
->
getCount
());
$request
->
addParam
(
'spellcheck.onlyMorePopular'
,
$component
->
getOnlyMorePopular
());
$request
->
addParam
(
'spellcheck.extendedResults'
,
$component
->
getExtendedResults
());
$request
->
addParam
(
'spellcheck.collate'
,
$component
->
getCollate
());
$request
->
addParam
(
'spellcheck.maxCollations'
,
$component
->
getMaxCollations
());
$request
->
addParam
(
'spellcheck.maxCollationTries'
,
$component
->
getMaxCollationTries
());
$request
->
addParam
(
'spellcheck.maxCollationEvaluations'
,
$component
->
getMaxCollationEvaluations
());
$request
->
addParam
(
'spellcheck.collateExtendedResults'
,
$component
->
getCollateExtendedResults
());
$request
->
addParam
(
'spellcheck.accuracy'
,
$component
->
getAccuracy
());
return
$request
;
}
}
\ No newline at end of file
library/Solarium/Client/ResponseParser/Select/Component/Spellcheck.php
0 → 100644
View file @
2384976e
<?php
/**
* Copyright 2011 Bas de Nooijer. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this listof conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are
* those of the authors and should not be interpreted as representing official
* policies, either expressed or implied, of the copyright holder.
*
* @copyright Copyright 2011 Bas de Nooijer <solarium@raspberry.nl>
* @license http://github.com/basdenooijer/solarium/raw/master/COPYING
* @link http://www.solarium-project.org/
*
* @package Solarium
* @subpackage Client
*/
/**
* Parse select component Highlighting result from the data
*
* @package Solarium
* @subpackage Client
*/
class
Solarium_Client_ResponseParser_Select_Component_Spellcheck
{
/**
* Parse result data into result objects
*
* @param Solarium_Query_Select $query
* @param Solarium_Query_Select_Component_Spellcheck $spellcheck
* @param array $data
* @return Solarium_Result_Select_Spellcheck
*/
public
function
parse
(
$query
,
$spellcheck
,
$data
)
{
$results
=
array
();
if
(
isset
(
$data
[
'spellcheck'
]))
{
$spellcheckResults
=
$data
[
'spellcheck'
];
foreach
(
$spellcheckResults
AS
$key
=>
$result
)
{
$results
[
$key
]
=
new
Solarium_Result_Select_Spellcheck_Result
(
$result
);
}
}
return
new
Solarium_Result_Select_Spellcheck
(
$results
);
}
}
\ No newline at end of file
library/Solarium/Query/Select.php
View file @
2384976e
...
...
@@ -79,6 +79,11 @@ class Solarium_Query_Select extends Solarium_Query
*/
const
COMPONENT_HIGHLIGHTING
=
'highlighting'
;
/**
* Query component spellcheck
*/
const
COMPONENT_SPELLCHECK
=
'spellcheck'
;
/**
* Query component grouping
*/
...
...
@@ -140,6 +145,11 @@ class Solarium_Query_Select extends Solarium_Query
'requestbuilder'
=>
'Solarium_Client_RequestBuilder_Select_Component_Grouping'
,
'responseparser'
=>
'Solarium_Client_ResponseParser_Select_Component_Grouping'
,
),
self
::
COMPONENT_SPELLCHECK
=>
array
(
'component'
=>
'Solarium_Query_Select_Component_Spellcheck'
,
'requestbuilder'
=>
'Solarium_Client_RequestBuilder_Select_Component_Spellcheck'
,
'responseparser'
=>
'Solarium_Client_ResponseParser_Select_Component_Spellcheck'
,
),
);
/**
...
...
@@ -834,4 +844,16 @@ class Solarium_Query_Select extends Solarium_Query
return
$this
->
getComponent
(
Solarium_Query_Select
::
COMPONENT_GROUPING
,
true
);
}
/*
* Get a spellcheck component instance
*
* This is a convenience method that maps presets to getComponent
*
* @return Solarium_Query_Select_Component_Spellcheck
*/
public
function
getSpellcheck
()
{
return
$this
->
getComponent
(
Solarium_Query_Select
::
COMPONENT_SPELLCHECK
,
true
);
}
}
\ No newline at end of file
library/Solarium/Query/Select/Component/Spellcheck.php
0 → 100644
View file @
2384976e
<?php
/**
* Copyright 2011 Bas de Nooijer. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this listof conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are
* those of the authors and should not be interpreted as representing official
* policies, either expressed or implied, of the copyright holder.
*
* @copyright Copyright 2011 Bas de Nooijer <solarium@raspberry.nl>
* @license http://github.com/basdenooijer/solarium/raw/master/COPYING
* @link http://www.solarium-project.org/
*
* @package Solarium
* @subpackage Query
*/
/**
* Spellcheck component
*
* @link http://wiki.apache.org/solr/SpellCheckComponent
*
* @package Solarium
* @subpackage Query
*/
class
Solarium_Query_Select_Component_Spellcheck
extends
Solarium_Query_Select_Component
{
/**
* Component type
*
* @var string
*/
protected
$_type
=
Solarium_Query_Select
::
COMPONENT_SPELLCHECK
;
/**
* Set query option
*
* Query to spellcheck
*
* @param string $query
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setQuery
(
$query
)
{
return
$this
->
_setOption
(
'query'
,
$query
);
}
/**
* Get query option
*
* @return string|null
*/
public
function
getQuery
()
{
return
$this
->
getOption
(
'query'
);
}
/**
* Set build option
*
* Build the spellcheck?
*
* @param string $build
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setBuild
(
$build
)
{
return
$this
->
_setOption
(
'build'
,
$build
);
}
/**
* Get build option
*
* @return string|null
*/
public
function
getBuild
()
{
return
$this
->
getOption
(
'build'
);
}
/**
* Set reload option
*
* Reload the dictionary?
*
* @param string $reload
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setReload
(
$reload
)
{
return
$this
->
_setOption
(
'reload'
,
$reload
);
}
/**
* Get fragsize option
*
* @return string|null
*/
public
function
getReload
()
{
return
$this
->
getOption
(
'reload'
);
}
/**
* Set dictionary option
*
* The name of the dictionary to use
*
* @param string $dictionary
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setDictionary
(
$dictionary
)
{
return
$this
->
_setOption
(
'dictionary'
,
$dictionary
);
}
/**
* Get dictionary option
*
* @return string|null
*/
public
function
getDictionary
()
{
return
$this
->
getOption
(
'dictionary'
);
}
/**
* Set count option
*
* The maximum number of suggestions to return
*
* @param int $count
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setCount
(
$count
)
{
return
$this
->
_setOption
(
'count'
,
$count
);
}
/**
* Get count option
*
* @return int|null
*/
public
function
getCount
()
{
return
$this
->
getOption
(
'count'
);
}
/**
* Set onlyMorePopular option
*
* Only return suggestions that result in more hits for the query than the existing query
*
* @param string $onlyMorePopular
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setOnlyMorePopular
(
$onlyMorePopular
)
{
return
$this
->
_setOption
(
'onlymorepopular'
,
$onlyMorePopular
);
}
/**
* Get onlyMorePopular option
*
* @return string|null
*/
public
function
getOnlyMorePopular
()
{
return
$this
->
getOption
(
'onlymorepopular'
);
}
/**
* Set extendedResults option
*
* @param string $extendedResults
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setExtendedResults
(
$extendedResults
)
{
return
$this
->
_setOption
(
'extendedresults'
,
$extendedResults
);
}
/**
* Get extendedResults option
*
* @return string|null
*/
public
function
getExtendedResults
()
{
return
$this
->
getOption
(
'extendedresults'
);
}
/**
* Set collate option
*
* @param string $collate
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setCollate
(
$collate
)
{
return
$this
->
_setOption
(
'collate'
,
$collate
);
}
/**
* Get collate option
*
* @return string|null
*/
public
function
getCollate
()
{
return
$this
->
getOption
(
'collate'
);
}
/**
* Set maxCollations option
*
* @param int $maxCollations
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setMaxCollations
(
$maxCollations
)
{
return
$this
->
_setOption
(
'maxcollations'
,
$maxCollations
);
}
/**
* Get maxCollations option
*
* @return int|null
*/
public
function
getMaxCollations
()
{
return
$this
->
getOption
(
'maxcollations'
);
}
/**
* Set maxCollationTries option
*
* @param string $maxCollationTries
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setMaxCollationTries
(
$maxCollationTries
)
{
return
$this
->
_setOption
(
'maxcollationtries'
,
$maxCollationTries
);
}
/**
* Get maxCollationTries option
*
* @return string|null
*/
public
function
getMaxCollationTries
()
{
return
$this
->
getOption
(
'maxcollationtries'
);
}
/**
* Set maxCollationEvaluations option
*
* @param int $maxCollationEvaluations
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setMaxCollationEvaluations
(
$maxCollationEvaluations
)
{
return
$this
->
_setOption
(
'maxcollationevaluations'
,
$maxCollationEvaluations
);
}
/**
* Get maxCollationEvaluations option
*
* @return int|null
*/
public
function
getMaxCollationEvaluations
()
{
return
$this
->
getOption
(
'maxcollationevaluations'
);
}
/**
* Set collateExtendedResults option
*
* @param string $collateExtendedResults
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setCollateExtendedResults
(
$collateExtendedResults
)
{
return
$this
->
_setOption
(
'collateextendedresults'
,
$collateExtendedResults
);
}
/**
* Get collateExtendedResults option
*
* @return string|null
*/
public
function
getCollateExtendedResults
()
{
return
$this
->
getOption
(
'collateextendedresults'
);
}
/**
* Set accuracy option
*
* @param float $accuracy
* @return Solarium_Query_Select_Component_Spellcheck Provides fluent interface
*/
public
function
setAccuracy
(
$accuracy
)
{
return
$this
->
_setOption
(
'accuracy'
,
$accuracy
);
}
/**
* Get accuracy option
*
* @return float|null
*/
public
function
getAccuracy
()
{
return
$this
->
getOption
(
'accuracy'
);
}
}
\ No newline at end of file
library/Solarium/Result/Select.php
View file @
2384976e
...
...
@@ -257,4 +257,16 @@ class Solarium_Result_Select extends Solarium_Result_QueryType
{
return
$this
->
getComponent
(
Solarium_Query_Select
::
COMPONENT_FACETSET
);
}
/**
* Get spellcheck component result
*
* This is a convenience method that maps presets to getComponent
*
* @return Solarium_Result_Select_Spellcheck
*/
public
function
getSpellcheck
()
{
return
$this
->
getComponent
(
Solarium_Query_Select
::
COMPONENT_SPELLCHECK
);
}
}
\ No newline at end of file
library/Solarium/Result/Select/Spellcheck.php
0 → 100644
View file @
2384976e
<?php
/**
* Copyright 2011 Bas de Nooijer. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this listof conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are
* those of the authors and should not be interpreted as representing official
* policies, either expressed or implied, of the copyright holder.
*
* @copyright Copyright 2011 Bas de Nooijer <solarium@raspberry.nl>
* @license http://github.com/basdenooijer/solarium/raw/master/COPYING
* @link http://www.solarium-project.org/
*
* @package Solarium
* @subpackage Result
*/
/**
* Select component spellcheck result
*
* @package Solarium
* @subpackage Result
*/
class
Solarium_Result_Select_Spellcheck
implements
IteratorAggregate
,
Countable
{
/**
* Result array
*
* @var array
*/
protected
$_results
;
/**
* Constructor
*
* @param array $results
* @return void
*/
public
function
__construct
(
$results
)
{
$this
->
_results
=
$results
;
}
/**
* Get a result by key
*
* @param mixed $key
* @return Solarium_Result_Select_Highlighting_Result|null
*/
public
function
getResult
(
$key
)
{
if
(
isset
(
$this
->
_results
[
$key
]))
{
return
$this
->
_results
[
$key
];
}
else
{
return
null
;
}
}
/**
* Get all results
*
* @return array
*/
public
function
getResults
()
{
return
$this
->
_results
;
}
/**
* IteratorAggregate implementation
*
* @return ArrayIterator
*/
public
function
getIterator
()
{
return
new
ArrayIterator
(
$this
->
_results
);
}
/**
* Countable implementation
*
* @return int
*/
public
function
count
()
{
return
count
(
$this
->
_results
);
}
}
\ No newline at end of file
library/Solarium/Result/Select/Spellcheck/Result.php
0 → 100644
View file @
2384976e
<?php
/**
* Copyright 2011 Bas de Nooijer. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this listof conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are
* those of the authors and should not be interpreted as representing official
* policies, either expressed or implied, of the copyright holder.
*
* @copyright Copyright 2011 Bas de Nooijer <solarium@raspberry.nl>
* @license http://github.com/basdenooijer/solarium/raw/master/COPYING
* @link http://www.solarium-project.org/
*
* @package Solarium
* @subpackage Result
*/
/**
* Select component spellcheck result item
*
* @package Solarium
* @subpackage Result
*/
class
Solarium_Result_Select_Spellcheck_Result
implements
IteratorAggregate
,
Countable
{
/**
* Fields array
*
* @var array
*/
protected
$_fields
;
/**
* Constructor
*
* @param array $fields
* @return void
*/
public
function
__construct
(
$fields
)
{
$this
->
_fields
=
$fields
;
}
/**
* Get highlights for all fields
*
* @return array
*/
public
function
getFields
()
{
return
$this
->
_fields
;
}
/**
* Get highlights for a single field
*
* @return array
*/
public
function
getField
(
$key
)
{
if
(
isset
(
$this
->
_fields
[
$key
]))
{
return
$this
->
_fields
[
$key
];
}
else
{
return
array
();
}
}
/**
* IteratorAggregate implementation
*
* @return ArrayIterator
*/
public
function
getIterator
()
{
return
new
ArrayIterator
(
$this
->
_fields
);
}
/**
* Countable implementation
*
* @return int
*/
public
function
count
()
{
return
count
(
$this
->
_fields
);
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment