<?php

namespace Webkul\ScheduleCronBundle\Entity;

/**
 * CronJobsMapping
 */
class CronJobsMapping
{
    /**
     * @var int
     */
    private $id;

    /**
     * @var string
     */
    private $name;

    /**
     * @var boolean
     */
    private $status;

    /**
     * @var string
     */
    private $intervelDay;

    /**
     * @var string
     */
    private $intervelTime;

    /**
     * @var string
     */
    private $jobProfile;

    /**
     * @var string
     */
    private $cronCmd;

    /**
     * @var string
     */
    private $jobType;

    /**
     * Check status
     *
     * @param string $status
     *
     * @return status
     */
    public function isActivate()
    {
        $this->status = !$this->status;

        return $this;
    }

    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set status
     *
     * @param string $status
     *
     * @return CronJobsMapping
     */
    public function isEnabled($status)
    {
        $this->status = $status;

        return $this;
    }

    /**
     * Set name
     *
     * @param string $name
     *
     * @return CronJobsMapping
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set status
     *
     * @param boolean $status
     *
     * @return CronJobsMapping
     */
    public function setStatus($status)
    {
        $this->status = $status;

        return $this;
    }

    /**
     * Get status
     *
     * @return boolean
     */
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * Set intervelDay
     *
     * @param string $intervelDay
     *
     * @return CronJobsMapping
     */
    public function setIntervelDay($intervelDay)
    {
        $this->intervelDay = $intervelDay;

        return $this;
    }

    /**
     * Get intervelDay
     *
     * @return string
     */
    public function getIntervelDay()
    {
        return $this->intervelDay;
    }

    /**
     * Set intervelTime
     *
     * @param string $intervelTime
     *
     * @return CronJobsMapping
     */
    public function setIntervelTime($intervelTime)
    {
        $this->intervelTime = $intervelTime;

        return $this;
    }

    /**
     * Get intervelTime
     *
     * @return string
     */
    public function getIntervelTime()
    {
        return $this->intervelTime;
    }

    /**
     * Set jobProfile
     *
     * @param string $jobProfile
     *
     * @return CronJobsMapping
     */
    public function setJobProfile($jobProfile)
    {
        $this->jobProfile = $jobProfile;

        return $this;
    }

    /**
     * Get jobProfile
     *
     * @return string
     */
    public function getJobProfile()
    {
        return $this->jobProfile;
    }

    /**
     * Set cronCmd
     *
     * @param string $cronCmd
     *
     * @return CronJobsMapping
     */
    public function setCronCmd($cronCmd)
    {
        $this->cronCmd = $cronCmd;

        return $this;
    }

    /**
     * Get cronCmd
     *
     * @return string
     */
    public function getCronCmd()
    {
        return $this->cronCmd;
    }
    /**
     * @var string|null
     */
    private $customCron;


    /**
     * Set customCron.
     *
     * @param string|null $customCron
     *
     * @return CronJobsMapping
     */
    public function setCustomCron($customCron = null)
    {
        $this->customCron = $customCron;

        return $this;
    }

    /**
     * Get customCron.
     *
     * @return string|null
     */
    public function getCustomCron()
    {
        return $this->customCron;
    }

    /**
     * Set jobType
     *
     * @param string $jobType
     *
     * @return CronJobsMapping
     */
    public function setjobType($jobType)
    {
        $this->jobType = $jobType;

        return $this;
    }

    /**
     * Get jobType
     *
     * @return string
     */
    public function getjobType()
    {
        return $this->jobType;
    }
}
