source: branches/1.2/workflow/inc/jobs/class.JobDate.inc.php @ 1349

Revision 1349, 2.1 KB checked in by niltonneto, 15 years ago (diff)

Ticket #561 - Inclusão do módulo Workflow faltante nessa versão.

Line 
1<?php
2/**************************************************************************\
3* eGroupWare                                                               *
4* http://www.egroupware.org                                                *
5* --------------------------------------------                             *
6*  This program is free software; you can redistribute it and/or modify it *
7*  under the terms of the GNU General Public License as published by the   *
8*  Free Software Foundation; either version 2 of the License, or (at your  *
9*  option) any later version.                                              *
10\**************************************************************************/
11
12require_once 'class.JobEnum.inc.php';
13
14/**
15 * Classe base dos tipos de datas (e intervalos) utilizadas pelos Jobs
16 * @author Sidnei Augusto Drovetto Junior - drovetto@gmail.com
17 * @version 1.0
18 * @abstract
19 * @license http://www.gnu.org/copyleft/gpl.html GPL
20 * @package Workflow
21 * @subpackage Job
22 */
23abstract class JobDate
24{
25        /**
26         * @var object A data a partir da qual o Job é válido
27         * @access protected
28         */
29        protected $startDate;
30
31        /**
32         * @var array O intervalo de execução do Job. É uma array associativa com os elementos 'unity' e 'value'
33         * @access protected
34         */
35        protected $interval;
36
37        /**
38         * Construtor da classe JobDate
39         * @param object $startDate A data a partir da qual o Job é válido
40         * @param array $interval O intervalo de execução do Job
41         * @return object Objeto da classe JobDate
42         * @access public
43         */
44        public function JobDate($startDate, $interval)
45        {
46                $this->startDate = $startDate;
47                $this->setInterval($interval);
48        }
49
50        /**
51         * Define o intervalo de execução do Job
52         * @param array $interval O intervalo de execução do Job
53         * @return void
54         * @access public
55         */
56        public function setInterval($interval)
57        {
58                $this->interval = $interval;
59        }
60
61        /**
62         * Verifica se um Job será executado na data fornecida
63         * @param object $checkDate A data que será verificada
64         * @return bool True caso o Job deva ser executado e false caso contrário
65         * @access public
66         * @abstract
67         */
68        abstract public function checkMatchesInterval($checkDate);
69}
70?>
Note: See TracBrowser for help on using the repository browser.