2 // Copyright (C) 2010-2011 Aron Racho <aron@mi-squred.com>
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
9 require_once( library_src( 'RuleCriteriaBuilder.php') );
11 * Description of RuleCriteriaAgeBuilder
15 class RuleCriteriaAgeBuilder
extends RuleCriteriaBuilder
{
18 * @return RuleCriteriaType
20 function resolveRuleCriteriaType( $method, $methodDetail, $value ) {
21 if (strpos($method, "age_max") ) {
22 return RuleCriteriaType
::from(RuleCriteriaType
::ageMax
);
24 if (strpos($method, "age_min") ) {
25 return RuleCriteriaType
::from(RuleCriteriaType
::ageMin
);
31 * @param RuleCriteriaType $ruleCriteriaType
32 * @return RuleCriteria
34 function build( $ruleCriteriaType, $value, $methodDetail ) {
35 $method = $ruleCriteriaType->method
;
36 $criteria = new RuleCriteriaAge(
37 $method == 'age_max' ?
'max' : 'min',
39 TimeUnit
::from($methodDetail)
42 $criteria->value
= $value;
48 * @param RuleCriteriaType $criteriaType
50 function newInstance( $criteriaType ) {
51 if ( $criteriaType->code
== RuleCriteriaType
::ageMin
) {
52 return new RuleCriteriaAge( 'min' );
55 if ( $criteriaType->code
== RuleCriteriaType
::ageMax
) {
56 return new RuleCriteriaAge( 'max' );