245 $this->parent = $pParent;
267 if (!in_array($pRuleType, self::$ruleTypes)) {
268 throw new PhpSpreadsheetException(
'Invalid rule type for column AutoFilter Rule.');
271 $this->ruleType = $pRuleType;
295 if (is_array($pValue)) {
299 if (!in_array(
$key, self::$dateTimeGroups)) {
301 unset($pValue[
$key]);
307 if (count($pValue) == 0) {
308 throw new PhpSpreadsheetException(
'Invalid rule value for column AutoFilter Rule.');
313 $this->value = $pValue;
337 if (empty($pOperator)) {
341 (!in_array($pOperator, self::$operators)) &&
342 (!in_array($pOperator, self::$topTenValue))
344 throw new PhpSpreadsheetException(
'Invalid operator for column AutoFilter Rule.');
346 $this->
operator = $pOperator;
371 ($pGrouping !==
null) &&
372 (!in_array($pGrouping, self::$dateTimeGroups)) &&
373 (!in_array($pGrouping, self::$dynamicTypes)) &&
374 (!in_array($pGrouping, self::$topTenType))
376 throw new PhpSpreadsheetException(
'Invalid rule type for column AutoFilter Rule.');
378 $this->grouping = $pGrouping;
392 public function setRule($pOperator, $pValue, $pGrouping =
null)
399 if ($pGrouping !==
null) {
425 $this->parent = $pParent;
435 $vars = get_object_vars($this);
438 if (
$key ==
'parent') {
An exception for terminatinating execution or to throw for unit testing.
const AUTOFILTER_RULETYPE_DYNAMIC_OCTOBER
const AUTOFILTER_RULETYPE_DYNAMIC_TODAY
const AUTOFILTER_RULETYPE_DATEGROUP_HOUR
const AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH
const AUTOFILTER_RULETYPE_DYNAMIC_JUNE
const AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW
const AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER
const AUTOFILTER_RULETYPE_DYNAMIC_DECEMBER
const AUTOFILTER_RULETYPE_DYNAMIC_MARCH
getValue()
Get AutoFilter Rule Value.
const AUTOFILTER_RULETYPE_DATEGROUP_SECOND
const AUTOFILTER_RULETYPE_DATEGROUP_MONTH
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3
const AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL
const AUTOFILTER_RULETYPE_DYNAMIC_MAY
const AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM
const AUTOFILTER_RULETYPE_DYNAMIC_AUGUST
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR
const AUTOFILTER_RULETYPE_DYNAMIC_JULY
const AUTOFILTER_RULETYPE_DATEGROUP_MINUTE
const AUTOFILTER_COLUMN_RULE_NOTEQUAL
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER
const AUTOFILTER_RULETYPE_DYNAMICFILTER
const AUTOFILTER_RULETYPE_DATEGROUP_YEAR
const AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE
const AUTOFILTER_RULETYPE_CUSTOMFILTER
const AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11
const AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY
__clone()
Implement PHP __clone to create a deep clone, not just a shallow copy.
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1
setOperator($pOperator)
Set AutoFilter Rule Operator.
setRule($pOperator, $pValue, $pGrouping=null)
Set AutoFilter Rule.
getOperator()
Get AutoFilter Rule Operator.
const AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK
const AUTOFILTER_COLUMN_RULE_TOPTEN_TOP
getParent()
Get this Rule's AutoFilter Column Parent.
const AUTOFILTER_RULETYPE_DYNAMIC_SEPTEMBER
setRuleType($pRuleType)
Set AutoFilter Rule Type.
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12
const AUTOFILTER_COLUMN_RULE_LESSTHAN
const AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE
const AUTOFILTER_RULETYPE_DATEGROUP_DAY
const AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE
const AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE
getRuleType()
Get AutoFilter Rule Type.
setParent(?Column $pParent=null)
Set this Rule's AutoFilter Column Parent.
const AUTOFILTER_RULETYPE_DATEGROUP
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10
const AUTOFILTER_RULETYPE_DYNAMIC_NOVEMBER
const AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8
getGrouping()
Get AutoFilter Rule Grouping.
const AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9
const AUTOFILTER_RULETYPE_DYNAMIC_FEBRUARY
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2
const AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER
const AUTOFILTER_COLUMN_RULE_GREATERTHAN
const AUTOFILTER_RULETYPE_DYNAMIC_JANUARY
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7
__construct(?Column $pParent=null)
Create a new Rule.
const AUTOFILTER_RULETYPE_FILTER
const AUTOFILTER_COLUMN_RULE_EQUAL
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH
setValue($pValue)
Set AutoFilter Rule Value.
const AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5
const AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL
const AUTOFILTER_RULETYPE_TOPTENFILTER
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2
const AUTOFILTER_RULETYPE_DYNAMIC_APRIL
const AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK
setGrouping($pGrouping)
Set AutoFilter Rule Grouping.
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4